开发平台(Platform): (Ex: Win10, Linux, ...)
WINXP
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
code block
问题(Question):
我以为 test1 跟 test3
复制字串的原理应该相同
但是 执行到test3 程式会挂掉
两者差异 只有test3是用struct包起来
不明白 为什么test3不能执行
但是 test4 又可以正常执行
程式码(Code):(请善用置底文网页, 记得排版,禁止使用图档)
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <string.h>
typedef struct
{
char *data;
}element1;
typedef struct
{
char data[10];
}element2;
void main()
{
char *s1;
char s2[10];
strcpy(s1,"test1");
printf("%s\n",s1);
strcpy(s2,"test2");
printf("%s\n",s2);
element1 item1;
element2 item2;
// strcpy(item1.data,"test3");
// printf("%s\n",item1.data);
strcpy(item2.data,"test4");
printf("%s\n",item2.data);
}
补充说明(Supplement):