C语言结构体如何使用
发表于:2025-01-18 作者:千家信息网编辑
千家信息网最后更新 2025年01月18日,本文小编为大家详细介绍"C语言结构体如何使用",内容详细,步骤清晰,细节处理妥当,希望这篇"C语言结构体如何使用"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。本质一些值的集
千家信息网最后更新 2025年01月18日C语言结构体如何使用
本文小编为大家详细介绍"C语言结构体如何使用",内容详细,步骤清晰,细节处理妥当,希望这篇"C语言结构体如何使用"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
本质
一些值的集合。
简单使用
#includestruct User { char uName[20]; char uPass[20];};int main() { struct User u1 = { "abc","123" }; printf("%s\n", u1.uName); printf("%s\n", u1.uPass); return 0;}
效果:
一些写法
声明之后,可以立即创建实例。
也可以单独声明。
#includestruct User { char uName[20]; char uPass[20];} u1, u2, u3;struct User u4;int main() { struct User u5; return 0;}
匿名结构体:我用了,你们别想再用。
struct { char uName[20]; char uPass[20];}x;
我套我自己
只能套指针,因为空间有限。
举例:链表。
#includestruct Node { int val; struct Node* next;};int main() { struct Node a = { 333,NULL }; struct Node b = { 666,&a }; printf("%d\n", (*b.next).val); return 0;}
效果:
内存对齐
结构体放成员,是一个一个放的。
第一个放到首个地址处。
第二个开始,计算一个对齐数,该数是以下两个值的较小者:
1,VS的默认值,8。
2,该成员所占字节数。
实际的偏移量是对齐数的整数倍。
最后,结构体的大小是最大对齐数的整数倍。
举例-int char char
#includestruct A { int a; char b; char c;};int main() { struct A a = { 1,1,1 }; printf("%lld", sizeof(a)); return 0;}
效果:8
图解:
int放在首位。
char占1字节,直接放。
第二个char也是。
最后长度,按int的字节数的整数倍,也就是8。
举例-char int char
#includestruct A { char b; int a; char c;};int main() { struct A a = { 1,1,1 }; printf("%lld", sizeof(a)); return 0;}
效果:12
图解:
char直接放。
int从第四个开始放。
char直接放。
最后长度:从9开始第一个4的倍数,12。
举例-char char int
#includestruct A { char b; char c; int a;};int main() { struct A a = { 1,1,1 }; printf("%lld", sizeof(a)); return 0;}
效果:8
图解:两个char直接放。
int从下一个4的整数倍,也就是第五个开始放。
最后长度:从8开始第一个4的倍数,8。
由结构体指针访问成员
就是一种箭头的写法。
#includestruct A { int a;};int main() { struct A a = { 333 }; struct A* b = &a; printf("%d\n", b->a); return 0;}
效果:
读到这里,这篇"C语言结构体如何使用"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。
结构
效果
整数
语言
字节
成员
文章
长度
两个
也就是
倍数
内容
写法
指针
妥当
最大
内存
地址
大小
实例
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
广东科技学院互联网金融
陕西服务器机柜报价
微信语音聊天无法连接到服务器
数据库的及时性
更换服务器后xp系统无法访问
缓存数据库架构
数据库高频读写
软件开发哪个公司服务
厦门数据库安全审计
西安蓝牙软件开发品牌
斗门租房软件开发
浪潮服务器系统故障红灯常亮
吉林正规软件开发标准
山东刷脸互联网科技有限公司
cs无法VAC安全服务器
诺顿网络安全是啥
网络安全明码密文文档
海西州软件开发成交价
网络安全应用记录小学
华为服务器最新公告
校园食堂智慧管理软件开发公司
江宁 软件开发
软件开发公司好开吗
数据库后期维护升级方案
steam未转变者服务器
哪种服务器不能用公网ip
暗黑2重制版不同服务器区别
温江区三能软件开发工作室
上海电话软件开发活动简介
百联数据库是