sizeof

2014-11-24 03:23:28 · 作者: · 浏览: 0

print #include
#include

int main(void){
int *p;
int *a;
a = (int*)malloc(sizeof*p);
*a=1;
printf("%d\n",*a);
free(a);
return 0;
}

#include
#include

int main(void){
int *p;
int *a;
a = (int*)malloc(sizeof*p);
*a=1;
printf("%d\n",*a);
free(a);
return 0;
}

上面这段代码,编译运行都没有任何问题。


[cpp]
a = (int*)malloc(sizeof*p);

a = (int*)malloc(sizeof*p);一般主要是对上面这行代码有疑问,查阅相关资料,sizeof的用法如下:


  1、用于数据类型

  sizeof使用形式:sizeof(type)

  数据类型必须用括号括住。如sizeof(int)。

  2、用于变量

  sizeof使用形式:sizeof(var_name)或sizeof var_name

变量名可以不用括号括住。如sizeof (var_name),sizeof var_name等都是正确形式。