关于realloc的一些问题



int* getConcatenation(int* nums, int numsSize, int* returnSize) {
    int i;
    *returnSize = numsSize * 2;
    nums = (int *)realloc(nums, sizeof(int) * *returnSize);

    for (i = 0; i < numsSize; i++) {
        nums[i + numsSize] = nums[i];
    }

    return nums;
}

这样写就不报错

img


这样写就显示表达式必须是可修改的左值

为什么?

数组已经固定了地址,不能修改了啊