C语言学习之被吞掉的数组大小

来源:互联网 发布:软件平台下载 编辑:程序博客网 时间:2024/06/12 00:35

先展示一段代码:

#include <stdio.h>void doom(int arr[10]){    int i;    for(i = 0; i < 10; i++)        arr[i] = i;    printf("%d\n", sizeof(arr));}int main(){    int arr[10];    doom(arr);    return 0;}

根据正常的理解,既然是数组,sizeof应该等于40才对。但是,实际上不是这样的。

猜一下输出吧。

好吧不闹了,输出是8(64为编译器),这是为什么呢?

定义的函数中的参数无论是数组还是int *,或者是int arr[],都是等价的。也就是一个指针的大小——8字节。


原创粉丝点击