|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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;
- }
复制代码 |
|