1、const char*表示将传递字符串字面值,主要保存不想修改的字符串。
2、struct是structured data type(结构化数据类型)缩写,可以将不同类型的数据写在一起。
3、结构的大小固定,结构的数据都有名字。
4、
struct fish snappy = {“Snappy”,“Piranha”,69,4};
struct fish是数据类型。
snappy是变量名。
5、把参数封装在结构中,代码会更稳定。
6、访问结构时不能以访问数组的方式进行访问,应该按使用"."运算符访问结构字段。
例如:
printf("Name=%s\n",snappy.name);
7、注意:定义结构时末尾要加”;”
8、复制结构,具体复制的是字符串指针,而非字符串本身。
9、进行结构操作:
(1)定义结构数据
(2)使用结构数据进行目录项目的代入(建议将结构进行重命名)
(3)对结构进行赋值,使用目录输出。
10、用typedef为结构命名,规则为在结构前加上typedef,在后面起别名。
11、别名就是类型名,也就是说结构有两个名字,一个是结构名(struct cell_phone),一共是类型名(phone).
12、结构是一种由一系列其他数据类型组成的数据类型。
13、更新结构时,可以像修改变量那样修改字段。
14、当要把结构传给函数,并更新它的值时,需要使用结构指针。
15、(*t).age指向年龄 *t.age指t.age这个存储器单元中的内容。
16、
t->age==(*t).age
17、联合可以有效使用存储器空间。
18、如何使用联合:
(1)C89方式:
quantity q = {4};
(2)指定初始化器:
quantity q = {.weight=1.5};
(3)”点“表示法:
quantity q;
q.volume = 3.7;
19、联合常和结构一起用。可以在联合中保存各种类型的值,但是保存后,并不知道这些值是以哪种类型保存的。所以可以使用一种技巧——创建枚举。
20、枚举:(数据项之间用逗号隔开)
enum colors{RED,GREEN,PUCE};
enum colors favorite = PUCE;
21、 位字段可以指定一共字段有多少位,一般位字段是连续的,放在一起的。
22、为什么C语言不支持二进制字面值?
因为二进制字面值占了很大空间,而且十六进制写起来更快。