struct
位结构名
{
数据类型
变量名:
整形常数;
数据类型
变量名:
整形常数;
}位结构变量;
其中,struct为关键字,位结构数据类型必须是整型int(unsigned或signed);整形常熟必须是非负的整数,范围是0~15,用于表示有多少位,即表示二进制位的个数,变量名是可选项,可以省略。位结构的定义,实例如下。
struct
{
unsigned
lbit
:
8
//lbit
占用低字节0~7共八位。
unsigned
hbit0
:
4
//hbit0
占用高字节0~3共4位。
unsigned
hbit1
:
3
//hbit1
占用高字节4~6共3位。
unsigned
hbit2
:
1
//hbit2
占用高字节第7位。
}bit;
位结构成员的访问与结构成员的访问相同,例如访问上列位结构中的lbit成员可写成如下形式
bit.lbit
在使用位结构时,应注意以下几点。
1、位结构中的成员必须是int,但可以定义为unsigned或者signed。
2、当位结构成员长度为1时,c51语言将其认为是unsigned类型。
3、位结构总长度(位数)是各个位成员定义的位数之和,可以超过两个字节。
4、位结构中的成员不能使用数组和指针,但位结构变量可以是数组和指针。如果是指针,其成员访问方式同结构指针。
5、位结构可以成为嵌套式结构的成员,与其他结构成员一起使用,示例如下。
struct
student
{
char
*name
int
num
int
age
char
*sex
float
score
unsigned
reister:1
unsigned
pay:1
}
C语言中变量遵循“先定义后使用”的原则:
1、定义变量的格式:数据类型 变量名
首先要强调的一点是:变量的定义是一条语句,每条语句都是以分号结尾的。故定义完变量,后面不要漏掉“;”分号。
在变量定义中,“数据类型”表示想要存储什么类型的数据就定义什么类型的变量。
如想要存储整数就定义成 int 型;想要存储小数就定义成 float 型或 double 型;想要存储字符就定义成 char 型等等。
“变量名”就是你想给这个变量起个什么名字,通常都是用字母、数字与下划线组合而成。比如:
“int i;double price;double goods_price2”等等。
就表示定义了一个整型变量 i、小数型变量price、goods_price2;
2、变量定义完成后,接下来就是使用变量,为变量赋值。
将一个值放到一个变量中,这个动作叫“赋值”。通俗点讲,“给变量赋值”意思就是将一个值传给一个变量。
赋值的格式是:
变量名 = 要赋的值
它的意思是将=右边的数字赋给左边的变量。比如:
i = 3
这就表示将 3 赋给了变量 i,此时 i 就等于 3 了。
3、变量的定义和赋值,可以分成两步写,也可以将它们合成一步,而且事实上,在实际编程中用得最多的也是合二为一的写法。
形式如下:
数据类型 变量名 = 要赋的值
比如:int i = 3
就表示定义了一个变量 i,并把 3 赋给这个变量。它与
int i
i =3
是等价的。
在定义变量时也可以一次性定义多个变量,比如:
int i, j
这就表示定义了变量 i 和 j。这里需要强调的是,当同时定义多个变量时,变量之间是用逗号隔开的,千万别写成分号。这是很多新手最容易犯的错误,即将逗号和分号记混了。
同样也可以在定义多个变量的同时给它们赋值:
int i = 3, j = 4
中间还是用逗号隔开,最后别忘记输入分号。
最后需要注意的是,在较老的 C89/C90 标准(也称 ANSI C 标准)中,变量只能在程序的开头定义,或者说变量定义的前面不能有其他非声明或非定义的语句。
扩展资料:
在主回答中,提到了变量定义时,变量名通常都是用字母、数字与下划线组合而成,但是实际上,变量名也不是随便组合的,变量定义需要遵循一定的规范,否则容易产生歧义,影响整体程序代码 的可读性。
所以在定义变量的时候,要注意以下命名规范:
(1)、变量名的开头必须是字母或下划线,不能是数字。实际编程中最常用的是以字母开头,而以下划线开头的变量名是系统专用的。命名应当直观且可以拼读,可望文知意,便于记忆和阅读。
标识符最好采用英文单词或其组合,不允许使用拼音。程序中的英文单词一般不要太复杂,用词应当准确。
(2)、变量名中的字母是区分大小写的。比如 a 和 A 是不同的变量名,num 和 Num 也是不同的变量名。当标识符由多个词组成时,每个词的第一个字母大写,其余全部小写。
比如: int CurrentVal;
这样的名字看起来比较清晰,远比一长串字符好得多。
(3)、变量名绝对不可以是C语言关键字,不能有空格。
(4)、变量名的长度应当符合“min-length &&max-information”原则。
C 是一种简洁的语言, 命名也应该是简洁的。例如变量名MaxVal 就比MaxValueUntilOverflow 好用。标识符的长度一般不要过长,较长的单词可通过去掉“元音”形成缩写。
另外,英文词尽量不缩写,特别是非常用专业名词,如果有缩写,在同一系统中对同一单词必须使用相同的表示法,并且注明其意思。
1.结构体类型数据的定义方法和引用方法定义结构体:struct
结构体名
{
成员列表
};
定义结构体类型的变量:有三种形式
①
定义类型时定义变量:struct
结构体类型名
{
成员列表
}变量名列表;
②
直接定义结构类型变量:struct
{
成员列表
}变量名列表;
③
由已定义的结构体类型来定义变量:struct
结构体类型名变量名列表;
引用结构体类型变量:在定义了结构体类型变量后,采用下列方法引用结构体类型的
变量:
结构体变量名.成员名
这里"."是成员(分量)运算符,它在所有的运算符中优先级最高。
使用结构体时注意:
(1)结构体类型和结构体类型变量是不同的概念,定义结构体类型变量时应先定义
结构体类型,然后再定义变量属于该类型。
(2)定义了—个结构体类型后,系统并没有为所定义的各成员项分配相应的存储空
间。只有定义了一个结构体类型变量,系统才为所定义的变量分配相应的存储空间。结构
体类型变量占用内存的字节数是所有成员占用内存长度之和。
(3)结构体成员的引用。如果一个结构体中又嵌套一个结构体,则要访问一个成员
时,应采取外层向内层逐级访问的方法。
求采纳为满意回答。