这里记录一下怎么为结构体成员变量实现内存连续且为动态
[code]#include #include #include #include #include using namespace std;// 今天描述结构体中的指针和数组typedef struct _Player{ int level; char name[20];} Player, *PPplayer;// 上面这个第一个结构体里面成员在内存中是连续的void fun1(){ PPplayer p1 = (PPplayer)malloc(sizeof(Player)); // 为p1申请内存 memset(p1, 0, sizeof(Player)); // 初始化 p1->level = 1; strcpy(p1->name, "张三"); cout name, 0, 20); // 初始化 strcpy(p2->name, "1angx"); cout name, "1angx"); // 这里我们直接给name赋值是不是越界访问了,确实是,但是由于在结构体中内存是连续的,name在结构体中,我们的结构体的大小足够大,且level name的内存是连续的 cout |