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

结构体和数组都是复合数据类型,不同之处在于,数组中 每个元素只能是相同的数据类型,而结构体可以说是包罗万象,里面的元素可以是不同的数据类型,且可以是任何数据类型包括基本数据类型和复合数据类型。
这里没有多少复杂的关系,要注意的是指针和结构体变量访问结构体里的与元素的方式不同。
下面给出一个例子:

#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;
}

结果

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值