博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C语言柔性数组
阅读量:5903 次
发布时间:2019-06-19

本文共 942 字,大约阅读时间需要 3 分钟。

 

 

#include 
#include
#define N 4#define STR "abcd" int main(){ struct student { }stu; printf("N = %d\n", sizeof(N)); printf("num 5 memery = %d\n", sizeof(5)); printf("char 'd' = %d\n", sizeof('d')); printf("STR = %d\n", sizeof(STR)); printf("a = %d\n",sizeof(stu)); // 在编译器gcc、mingw5下输出0,在vc++6.0中输出1(我使用的mingw5编译器),在vc++6.0中默认结构体最小大小为1字>节(包含空结构体和只含一个char类型的结构体) /* 柔性数组测试 可以参考《C语言深度解剖》 */ printf("\n柔性数组测试\n"); typedef struct test { int i; int a[]; // 此数组前必须包含一个其它成员 }te; printf("sizeof(te) = %d\n", sizeof(te)); // int a[] 不是结构体中的成员 te *p = (te*)malloc(sizeof(te) + sizeof(int) * 100); p->a[0] = 13; printf("p->a[0] = %d\n",p->a[0]); printf("sizeof(p) = %d\n", sizeof(p)); // 大小仍然为4,因为int a[] 不是结构体中的成员 return 0;}

 

N = 4num 5 memery = 4char 'd' = 4STR = 5a = 0柔性数组测试sizeof(te) = 4p->a[0] = 13sizeof(p) = 8

 

转载地址:http://wbkpx.baihongyu.com/

你可能感兴趣的文章
心情随感—做自己
查看>>
java 服务端项目启动停止重启脚本
查看>>
不用花钱!Android模拟器让你在电脑上免费体验谷歌手机
查看>>
MySql
查看>>
openssl自建CA
查看>>
ceph增加osd流程
查看>>
MYSQL事务处理汇总与案例
查看>>
linux系统的启动流程
查看>>
企业信息化规划步骤
查看>>
MySQL存储过程和函数(4) - 存储函数Stored Function
查看>>
第三课--Android组件
查看>>
LoadRunner监控Linux资源
查看>>
多核心Linux内核路径优化的不二法门之-slab与伙伴系统
查看>>
Cacti 0.8.8b 成功监控mssql 2005
查看>>
你所不知道的Kerberos 整理笔记(三)
查看>>
阿里云 DataV 产品简介
查看>>
snmp日志
查看>>
Windows 10预览版之抢先体验—短命的METRO界面
查看>>
Java学习笔记—第五章 运算符和表达式
查看>>
我的友情链接
查看>>