今天准备写一下关于结构体的一些见解,第一次接触结构体时,还以为是一个特殊的函数(才不是因为当时教我们的老师是一个澳大利亚人,而我听不懂他说什么),其实结构体跟普通的数据类型差不了多少,只要把它当成普通的数据类型使用就行,当然它还和链表有很大的关系,不过这都是后话了。
结构体数据类型,这是一种自定义的数据类型,代码如下:
#include#include #include struct limb//定义一个结构体类型,这是一个自定义的数据类型{ char name[64];//64个字节 int age;//4个字节};typedef struct limb2//通过typedef可以重命名,定义变量的时候不用写struct{ char name[64];//64个字节 int age;//4个字节}limb2;void main(){ //如果没有使用typedef的话,要定义一个结构体变量是必须要加struct的 //limb a1;//错误的写法 struct limb a2;//正确的写法 limb2 a3;//因为使用了typedef所以不用写struct printf("sizeof(a3):%d\n",sizeof(a3));//64 + 4 = 68 个字节 printf("hello...\n"); system("pause");}
从代码中我们可以看到,结构体也是一种数据类型,当用它定义一个变量的时候就会分配一个固定的内存空间,当我们想使用结构体里定义的元素的时候可以这样;
1 void main() 2 { 3 4 limb2 s1; 5 strcpy(s1.name,"aaa"); 6 s1.age = 12; 7 8 printf("%d\n",s1.age); 9 printf("%s\n",s1.name);10 system("pause");11 return ;12 13 }
我们可以通过"s1.age = 12 "这个寻标符来寻找结构里的元素;然后就可以像一般的变量使用就行。初步了解结构体话,首先要记住的就是寻标符 ,刚开始的时候对于这个符号可能会很陌生,但是当我们用多了之后就会熟悉起来。今天就先说到这好了。