C语言中强制类型转化

为何要在这里提强制类型转换呢,测试代码可以看到编译器会报很多警告,意思是告诉程序员数据类型不匹配,虽然并不影响程序的正确运行,但是很多警告总会让人感到难受。因此为了告诉编译器代码这里没有问题,程序员可以使用强制类型转换来将一段内存转换为需要的数据类型,例如下面有一个数组a,现在将其强制转换为一个结构体类型stu:
#include typedef struct student{ int name; int gender;}stu;int a[100]={10,20,30,40,50};int main(int argc, char **argv){ stu *student; student=(stu*)a; printf(student->name=%d\n,student->name); printf(student->gender=%d\n,student->gender); return 0;} 可以看到a[100]被强制转换为stu结构体类型,当然不使用强制类型转换也是可以的,只是编译器会报警报。
上图为程序的示意图,图中数组a[100]的前12个字节被强制转换为了一个struct stu类型,上面仅对数组进行了说明,其它数据类型也是一样的,本质上都是一段内存空间。


SLD/SRD指令的作用及符号
海信空调领跑舒适变频风潮 打响品质家电消费首场战役
什么是LED光衰,光衰怎么解决?
htc wildfire s a510e
财经头条 比特币价格11天暴跌44% 小鸣单车欠债近2000万
C语言中强制类型转化
微处理器温度控制模拟Ⅵ的运行操作
Qualcomm和福特就C-V2X展开合作 展示了蜂窝车联网技术带来的美好愿景
光伏逆变器的隔离需求及实现
苹果针对iPad推出订制版本,Adobe Illustrator计划登陆iPad
家用超声波清洗机具有哪些特征?
中控智慧科技射频卡读卡器KR800B介绍
OPPO社区展示了Reno的十倍变焦功能的几种有趣用法
高效算力赋能千行百业,全志科技助力构建智能生态大图谱
Civil希望利用数字货币的区块链来保护新闻报道
孟晚舟已经顺利回国 华为明年将推出自研编程语言仓颉
传奇神U i3-7350K深度评测:网友恶搞为“宇宙第一CPU”?
多节镍镉电池充电器
赵福全对话付于武(下):发挥好政府作用,深化人才工作,加快汽车产业转型发展
拒绝中途崩溃,节能稳定的服务器如何设计?