声明的字符指针这是我的代码:如何将字符串存储到一个结构
#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