聲明的字符指針這是我的代碼:如何將字符串存儲到一個結構
#include<stdio.h>
struct p{
char* d;
};
typedef struct p* pt;
int main(){
pt opt;
opt=(pt)malloc(sizeof(struct p));
scanf("%s",(opt->d));
printf("%s",opt->d);
getch();
return 0;
}
每次我運行它,它接受並打印字符串不錯,但發生一個錯誤。 在調試時,它告訴我們存在分段錯誤,但是不指向它的位置? 這是怎麼回事,這似乎是相當正確的。
您不需要在C程序中投射'malloc'的返回值。 – 2013-04-27 19:17:40
@CarlNorum更確切地說,你**不能**投它。 – 2013-04-27 19:18:41