含义:sizeof 计算的是变量所占内存的大小,单位为字节。
#include <stdio.h>
void Fun(int b[10])
{
//数组作为函数形参,在这里传入的是数组的首地址,即就是int * 类型,可访问的有效地址为 4 * 10 字节的大小。
//输出结果为:4,4
printf("%d,%d\n",sizeof (b), sizeof (b[0]));
}
int main(void)
{
char * p = NULL;
double *q = NULL;
int a[100] = {0};
int b[10] = {1};
//p 为指针变量,占4字节;*p为char类型变量,占1个字节
printf("%d,%d\n", sizeof (p), sizeof (*p));
//q 为指针变量,占4字节;*p为double类型,占8个字节
printf("%d,%d\n", sizeof (q), sizeof (*q));
//a 为数组变量,int [] 类型,占4 * 100 = 400字节;a[0]为int类型,占4个字节 ; &a为指针类型,占4个字节
printf("%d,%d,%d\n", sizeof (a), sizeof (a[0]), sizeof (&a));
Fun(b);
return 0;
}
本文出自 “八部天龙” 博客,请务必保留此出处http://1224517743.blog.51cto.com/2643474/1726886
原文:http://1224517743.blog.51cto.com/2643474/1726886