数组作为函数的形参时,函数访问这个数组实际上是以类似指针的形式访问的。使用sizeof时,得到的是指针的大小。

#include <stdlib.h>
#include <stdio.h>

void example(char str[]) {
    printf("%ld\n", sizeof(str));
}

int main() {
    char helloStr[] = "Hello, you! Who are you?";
    example(helloStr);
    printf("%ld\n", sizeof(helloStr));
    return 1;
}

输出结果为:

8
25