注册 登录
编程论坛 C语言论坛

为什么get_array(a);结果是8不是4

想学c的小白 发布于 2020-04-16 21:35, 1316 次点击
#include <stdio.h>

void get_array(int b[10]);

void get_array(int b[10])
{
        int i;

        printf("sizeof b: %d\n", sizeof(b));
}

int main()
{
        int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0};

        printf("sizeof a: %d\n", sizeof(a));
        get_array(a);

        }
2 回复
#2
lin51616782020-04-16 21:41
因为 指针从来没说过只能是4
#3
forever742020-04-16 23:25
当你的编译器的目标代码是64位的时候,一般默认内存地址也超过32位,所以很自然指针是64位 8 Bytes
1