您的位置:首页 > 编程语言 > C语言/C++

C语言指针-----指针与结构体

2016-01-01 23:39 393 查看
结构体和数组都是复合数据类型,不同之处在于,数组中 每个元素只能是相同的数据类型,而结构体可以说是包罗万象,里面的元素可以是不同的数据类型,且可以是任何数据类型包括基本数据类型和复合数据类型。

这里没有多少复杂的关系,要注意的是指针和结构体变量访问结构体里的与元素的方式不同。

下面给出一个例子:

#include<stdio.h>
#include<stdlib.h>
struct people{
char *name;
int age;
};
struct student{
char *id;
struct people man;
};
int main(void){
struct student student1;
struct student *student2;//结构体指针使用前别忘记分配内存
student2=(struct student *)malloc(sizeof(struct student));
//struct student *student2=&student1;
student1.id="20160101001";
student1.man.name="lena";
student1.man.age=24;
printf("student1's name is %s\n",student1.man.name);
printf("student1's name is %d\n",student1.man.age);
printf("student1's name is %s\n\n",student1.id);

(*student2).id="11111111";// student2->id="0000"//两种方式
printf("student2's name is %s\n",student2->man.name);
printf("student2's name is %d\n",student2->man.age);//
printf("student2's name is %s\n",(*student2).id);

free(student2);
return 0;
}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: