马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
realloc那一行会报错,怎么去修改啊?#include <stdio.h>
#include <stdlib.h>
int main() {
// 原始数组
char array[] = {'a', 'b', 'c', 'd'};
size_t originalLength = sizeof(array) / sizeof(array[0]);
// 重新分配内存空间,长度增加一倍
char* newArray = (char*)realloc(array, 2 * originalLength * sizeof(char));
if (newArray == NULL) {
printf("内存重新分配失败\n");
exit(1);
}
// 检查指针是否仍然有效
if (newArray != array) {
// 如果指针发生变化,释放原始数组的内存
free(newArray);
}
// 使用扩展后的数组
for (size_t i = 0; i < 2 * originalLength; i++) {
newArray[i] = 'x';
printf("%c ", newArray[i]);
}
printf("\n");
// 释放扩展后的数组内存
free(newArray);
return 0;
}
|