C语言使用结构体指针时的小问题和总结,也许你也碰到过哦

#include <stdio.h>


typedef struct student
{
char name;
}stud;
typedef struct teacher
{
stud *stude;
char next;
}tea;


void main()
{
tea T;
tea *t = &T;
stud s;
t->stude = &s;
t->stude->name = 'a';
printf("%c\n",t->stude->name);
}


/*
*总结:
*为什么不加上t->stude = &s;时会出现错误?
*答:因为只要开始使用变量时一定要指明赋初值,即一开始指向哪,没有赋初值的指针是不可以使用
*的,否则会出现严重错误,有可能指向内存的重要区域造成不可预估的错误。
*上述程序加上t->stude = &s;这就声明了指针一开始指向s这个结构体变量,这样就可以正常使用了。
*/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值