在结构体中定义字符串的成员的时候要注意
定义成string有时候,在某些程序中给成员赋值会崩溃,但是不确定到底什么情况会崩溃。
运行报错如下:
Program received signal SIGSEGV, Segmentation fault. 0xb665489c in std::string::assign(char const*, unsigned int) () from /usr/lib/arm-linux-gnueabihf/libstdc++.so.6
typedef struct { string name; // 不要这样,有时候会崩溃 char name2[64]; // 可以这样 char* pname; // 可以这样 int age; }Student;
所以最好使用字符数组,或者通过指针使用动态内存。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步