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等都是正確形式。