欢迎来到天天文库
浏览记录
ID:20502355
大小:36.00 KB
页数:3页
时间:2018-10-12
《用sizeof求数组行列大小》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、#include"stdio.h"#include"conio.h"#defineM2#defineN3intmain(intargc,charargs[]){inta[M][N];printf("sizeof(a)=%d",sizeof(a));printf("sizeof(a[0])=%d",sizeof(a[0]));printf("sizeof(a[0][0])=%d",sizeof(a[0][0]));printf("a[%d][%d]",sizeof(a)/sizeof(a[0]),sizeof(a[0])/sizeof
2、(a[0][0]));printf("");getch();return0;}运行结果:结果分析:sizeof(a)=12//是因为int=2占两个字节(我用的是16位的编译器),而a是2×3的数组,所以应该占2×3×2=12字节的大小sizeof(a[0])=6//是因为a[0]指向首行地址,而每行的列数是3,所以占3×2=6字节的大小sizeof(a[0][0])=2//因为a[0][0]是首元素,类型是int,占2个字节,所以sizeof(a[0][0])占2字节的大小至于数组a的行列数可以这么算:因为a占字节=sizeof(a)=2
3、×3×2=12而a每行占字节=sizeof(a[0])=3×2=6所以a每行的列数=sizeof(a[0])/sizeof(int)=6/2=3又因为a是3×2的数组=sizeof(a)/sizeof(int)=6则a的行数=总数/列数=sizeof(a)/sizeof(int)/sizeof(a[0])/sizeof(int)=sizeof(a)/sizeof(a[0])a的列数=总数/行数=sizeof(a)/sizeof(int)/sizeof(a)/sizeof(a[0])=sizeof(a[0])/sizeof(int)或者=size
4、of(a[0])/sizeof(a[0][0])
此文档下载收益归作者所有