TCHAR* p, * q; // 分配初始内存空间 p = (TCHAR*)malloc(10 * sizeof(TCHAR)); // 初始化 p 中的数据 for (int i = 0; i < 9; i++) { *(p + i) = _T('a'); } *(p + 9) = _T('\0'); // 扩容 p q = (TCHAR*)realloc(p, 15 * sizeof(TCHAR));//修改数组容量 /* 格式:指针名=(数据类型*)realloc(源指针名,新的大小) 将原数组中的数据拷贝到新的数组中,释放掉原数组,并返回一个数组首地址 若失败:不会释放掉原数组,会返回一个空地址,表示开辟新数组失败,原来的数组空间没动 */ if (q != NULL) { // 在 q 中添加新的数据 for (int i = 9; i < 14; i++) { *(q + i) = _T('b'); } *(q + 14) = _T('\0'); } // 使用 q 输出结果 CString str = q; ::OutputDebugString(str); // 释放内存空间 free(q);
标签:MFC,int,realloc,TCHAR,数组,sizeof From: https://www.cnblogs.com/liming19680104/p/17584514.html