,因为我在较广的节目,我正在写一个类似的问题,我写了这个代码。对于我所知道的问题是一样的,所以我做了这个小例子。gcc编译的C字符串赋值问题
#include <stdio.h>
typedef struct
{
int x;
char * val;
}my_struct;
int main()
{
my_struct me = {4, " "};
puts("Initialization works.");
me.val[0] = 'a';
puts("Assignment works.");
puts(me.val);
puts("Output works.");
return 0;
}
使用tcc(Tiny C编译器)编译时,它会编译并执行正常。但是,使用GCC 4.6.0 20110513(预发布)编译,但是,当我执行它时,我只能通过“初始化工作”。在获得段错误之前。
我在做什么错?它是我的代码还是我的GCC编译器?
[这个答案](http://stackoverflow.com/questions/164194/why-does-simple-c-code-receive-segmentation-fault/164258#164258)说,这很好。 – ladaghini 2011-06-04 19:05:59