今天在学习指针的时候遇到了一点问题,开始想不明白,记录一下。
后来想到,数组在传参的时候会退化成指针,代码段1即变为了sizeof(指针)。
第一段代码
#include <stdio.h>
void test(int arr[])
{
int sz = sizeof(arr);
printf("%d\n", sz);
}
int main(void)
{
int arr[10] = { 0 };
test(arr);
return 0;
}
输出4
第二段代码
#include <stdio.h>
int main(void)
{
int arr[10] = { 0 };
int sz = sizeof(arr);
printf("%d\n", sz);
return 0;
}
输出40