编辑代码

#include <stdio.h>
#define SIZE 2

void handleNumbers(char *);
void printNumbers(char *, int);

int main(void)
{
    int i;
    char numbers[SIZE] = {1, 2};

    handleNumbers(numbers);
    printNumbers(numbers, SIZE);
}

void handleNumbers(char * numbers)
{   
    // numbers[0] 相当于 *numbers,即地址所指向的内存空间
    numbers[0] = 100;

    char diffNumbers[SIZE] = {3, 4};

    // 指针赋值,numbers 存储新的内存地址
    numbers = diffNumbers;
}

void printNumbers(char * numbers, int len)
{
    int i;

    for (i = 0; i < len; i++)
    {
        printf("%d ", numbers[i]);
    }

    putchar('\n');
}