需求
需要用到类似python二维列表的功能,查看了下C语言中可用结构体数组实现。
一 结构体
结构体类型的定义
struct 结构体类型名
{
数据类型 成员名1;
数据类型 成员名2;
...
数据类型 成员名3;
};
//例如,定义一个student的结构体类型:
struct student
{
 long num;
 char name[20];
 char sex;
 int age;
 char addr[30];
 };//以上定义中,结构体类型student由5个成员名组成
结构体变量的定义
结构体变量的定义有3种方法。
1 先定义结构体类型再定义结构体变量
struct student
{
 long num;
 char name[20];
 char sex;
 int age;
 char addr[30];
 };
struct student stu1,stu2;
//这样就定义了stu1和stu2为struct student类型的结构体变量
2 在定义结构体类型的同时定义结构体变量
struct student
{
 long num;
 char name[20];
 char sex;
 int age;
 char addr[30];
 } stu1,stu2;
//这样在定义了结构体类型的同时定义了stu1和stu22个结构体变量
3直接定义结构体类型变量
struct 
{
 long num;
 char name[20];
 char sex;
 int age;
 char addr[30];
 } stu1,stu2;
 //注意,该结构体变量无名
结构体数组
结构体数组的定义
定义结构体数组的一般形式为:
struct 结构体类型名 结构体数组名[元素个数];
例如
struct student
{
 long num;
 char name[20];
 char sex;
 int age;
 char addr[30];
 } stu[30];
结构体数组的初始化及赋值
struct student
	{
		long num;
		char name[20];
		float score;
	};
	struct student stu[10] = { {11,"zhangsan",60.5},{12,"lisi",80},{13,"zhaowu",90}};
参考资料
C语言程序设计教程第3版 朱鸣华著










