结构体类型

  今天准备写一下关于结构体的一些见解,第一次接触结构体时,还以为是一个特殊的函数(才不是因为当时教我们的老师是一个澳大利亚人,而我听不懂他说什么),其实结构体跟普通的数据类型差不了多少,只要把它当成普通的数据类型使用就行,当然它还和链表有很大的关系,不过这都是后话了。

  结构体数据类型,这是一种自定义的数据类型,代码如下:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

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 "这个寻标符来寻找结构里的元素;然后就可以像一般的变量使用就行。初步了解结构体话,首先要记住的就是寻标符 ,刚开始的时候对于这个符号可能会很陌生,但是当我们用多了之后就会熟悉起来。今天就先说到这好了。

posted @ 2017-10-10 22:46  SmartGame  阅读(517)  评论(0编辑  收藏  举报