#include <stdio.h>
struct a_st
{
char *a;
};
int main(int argc,char*argv[])
{
struct a_st ST={"hello"};
printf("a: %s\n",ST.a);
ST.a="world";
printf("a: %s\n",ST.a);
return 0;
}
将结构体数据成员的 char* 改成 const char *即可:
#include <stdio.h>
struct a_st
{
const char *a;
};
int main(int argc,char*argv[])
{
struct a_st ST={"hello"};
printf("a: %s\n",ST.a);
ST.a="world";
printf("a: %s\n",ST.a);
return 0;
}
运行结果:
a: hello
a: world