先看看百度百科怎么解释结构体的:
结构体(struct)是由一系列具有相同类型或不同类型的数据构成的数据集合,叫做结构体。
那么下面一步一步的来了解结构体,用一个person的例子
- 结构体的定义
typedef struct MyStruct{
char * name;
int height;
int age;
int sex;
//......
}PerSon;
这样就简单的定义了一个结构体,我们再来看看怎么使用这个结构体。
- 结构体的使用
现在我们有了一个结构体了,怎么去用它呢?我们用代码说话:
#include <stdio.h>
typedef struct MyStruct{
char * name;
int height;
int age;
int sex;
//......
}Person;
int main(int argh, char * argv[])
{
Person firstPerson;
/**
结构体的赋值
*/
char * personName = "Hkesd";
int personHeight = 170;
int personAge = 20;
int personSex = 1; //0:女 1:男 2...N:未知
firstPerson.name = personName;
firstPerson.height = personHeight;
firstPerson.age = personAge;
firstPerson.sex = personSex;
/**
读取结构体的值
*/
printf("Name: %s\nHeight: %d\nAge: %d\n",firstPerson.name, firstPerson.height, firstPerson.age);
if (firstPerson.sex == 1){
printf("Sex: 男\n");
}else if(firstPerson.sex == 0){
printf("Sex: 女\n");
}else{
printf("Sex: 未知\n");
}
return 0;
}
这样就简单的把结构体的定义以及使用说了一下,关于结构体的一下其它的内容,比如struct和typedef struct的区别以及面试过程中经常碰到的结构体对齐问题将在后面谈到。