sizeof与二维数组

sizeof关键字用于返回变量或类型所占存储空间的字节数。如下代码在xp下执行

#include 
#include 
#include 

int a[10];
int b[3][5];

int main(void)
{
  printf("int a[10]\r\n");
  printf("sizeof(int)=%d\r\n",sizeof(int));
  printf("sizeof(a)=%d\r\n",sizeof(a));
  printf("sizeof(*a)=%d\r\n",sizeof(*a));
  printf("sizeof(a[10])=%d\r\n",sizeof(a[10]));
  printf("sizeof(&a)=%d\r\n",sizeof(&a));
  printf("sizeof(&a[0]=%d\r\n",sizeof(&a[0]));

  printf("int b[3][5]\r\n");
  printf("sizeof(b)=%d\r\n",sizeof(b));
  printf("sizeof(b[0])=%d\r\n",sizeof(b[0]));
  printf("sizeof(b[0][0])=%d\r\n",sizeof(b[0][0]));
  printf("sizeof(b)/sizeof(b[0])=%d\r\n",sizeof(b)/sizeof(b[0]));
  printf("sizeof(b[0])/sizeof(b[0][0])=%d\r\n",sizeof(b[0])/sizeof(b[0][0]));

  return 0;
}

结果如下:
int a[10]
sizeof(int)=4
sizeof(a)=40
sizeof(*a)=4
sizeof(a[10])=4
sizeof(&a)=4
sizeof(&a[0]=4
int b[3][5]
sizeof(b)=60
sizeof(b[0])=20
sizeof(b[0][0])=4
sizeof(b)/sizeof(b[0])=3
sizeof(b[0])/sizeof(b[0][0])=5

也就是说sizeof返回的是字节数。

分享到: 更多
版权申明:

本站保留所有原创文章的版权,本站地址:奔跑的博客[http://www.elecbench.com]

原创文章转载时请注明出处,并添加文章所在页面的链接:http://www.elecbench.com/sizeof%e4%b8%8e%e4%ba%8c%e7%bb%b4%e6%95%b0%e7%bb%84/

本站所有 2010年3月4日 以后发表、未标明为“转载”的文章均是本站原创。

发表评论?

2 条评论。

  1. 其实很好理解,就是返回指定的对像或类型占的字节数。常用的就几种1上面的很多很少用到。兄弟,你下面那个QQ登陆怎么弄的?求指教

发表评论


(设置自己的个性头像)

*

申请属于你的免费顶级域名