参考《C语言入门经典》
1 struct horse /*没有horse,就是无名的结构体*/ 2 { 3 int age; 4 int height; 5 }Slever; /*slever是这种结构体类型(horse类型)的一个变量*/ 6 7 struct horse David; /*声明了一个horse类型的变量,没有初始化*/ 8 9 struct horse Lily = { 5, 38 10 }; 11 12 13 /*未指定标记符的结构体*/ 14 struct /*用一条语句声明了结构和该结构体的实例*/ 15 { 16 int age; 17 int height; 18 }smallHorse; 19 /*缺点:只能一次性的申明完所有的实例,不能再其他语句中定义其他实例*/
struct horse *phorse[50]; /*指针数组*/ phorse[i] = (struct horse*)malloc(sizeof(struct horse));
typedef:只是把(struct 结构标记 )自定义为后面的那种类型。
类似于 typedef int haha;
typedef struct pts{ int x; int y; int z; }Point; /*这时Point是类型名,而不是实例名*/ Point my_pt; /*这才是声明一个结构变量*/ typedef struct pts *pPoint; /*这也是定义了一个类型*/
小的方面:
1. malloc函数返回值是void指针类型,要强制转换为所需类型。
2. fflush(stdin) 用来刷新缓冲区,有时候输入字符或者字符串最后带有换行符,会使得下一次的输入出现错误。
3. 可以在赋值语句中使用整个结构元素
时间: 2024-10-26 23:42:35