sizeof
print?#include <stdio.h>
#include <malloc.h>
int main(void){
int *p;
int *a;
a = (int*)malloc(sizeof*p);
*a=1;
printf("%d\n",*a);
free(a);
return 0;
}
#include <stdio.h>
#include <malloc.h>
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等都是正确形式。
补充:软件开发 , C++ ,