构造类型
1.数组 1> 只能由同一种类型的数据组成 2> 定义:数据类型 数组名[元素个数];= 数组容易犯的错误总结: // 使用注意 // 都是正确写法 //int ages[5] = {10 , 11, 12, 67, 56}; //int ages[5] = {10, 11}; //int ages[5] = {[3] = 10, [4] = 11}; //int ages[] = {10, 11, 14}; // 错误写法 // int ages[] // 错误写法 /* 只能在定义数组的同时进行初始化 int ages[5]; ages = {10, 11, 12, 14}; */ // 正确写法 // int ages['A'-50] = {10, 11, 12, 14, 16}; //int size = sizeof(ages); //printf("%d\n", size);
// 正确写法 /* int count = 5; int ages[count]; ages[0] = 10; ages[1] = 11; ages[2] = 18; */ //printf(); // 错误写法 // 如果想再定义数组的同事进行初始化,数组元素个数必须是常量,或者不写 //int ages[count] = {10, 11, 12}; 2.结构体 1> 可以由不同类型的数据组成 2> 先定义类型,再利用类型定义变量
结构体需要注意的几点:
1.定义结构体变量的3种方式 1> 先定义类型,再定义变量(分开定义) struct Student { int age; }; struct Student stu;
2> 定义类型的同时定义变量 struct Student { int age; } stu; struct Student stu2;
3> 定义类型的同时定义变量(省略了类型名称) struct { int age; } stu; 2.结构体类型的作用域 1> 定义在函数外面:全局有效(从定义类型的那行开始,一直到文件结尾) 2> 定义在函数(代码块)内部:局部有效(从定义类型的那行开始,一直到代码块结束)
|