首页 > 代码库 > struct个人详解

struct个人详解

参考《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, 3810 };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. 可以在赋值语句中使用整个结构元素

struct个人详解