#include <stdio.h>int main(){char *a;*a="nihao";printf("%s",a);}程序?yàn)槭裁磿?huì)崩潰啊?如果直接寫成char *a="nihao"就可以輸出,為什么???
2 回答
已采納

望遠(yuǎn)
TA貢獻(xiàn)1017條經(jīng)驗(yàn) 獲得超1032個(gè)贊
char?*是數(shù)據(jù)類型, 所以char?*?p="hello";是在創(chuàng)建指針變量p的同時(shí)賦初值, char?*?p;?p?=?"hello";則是將定義和初始化分開了, 就像是int?a=1;和int?a;a=1; 而*p是指針變量p所指的變量,不能這樣用。
- 2 回答
- 0 關(guān)注
- 1187 瀏覽