gpt4 book ai didi

c - 不同的数组大小

转载 作者:行者123 更新时间:2023-11-30 17:52:25 25 4
gpt4 key购买 nike

当我运行以下程序时,我得到不同的数组大小。我以不同的方式累了,但结果是一样的,io 可能做错了什么?

#include<stdio.h>

void array_size(char *a[])
{
printf("Func Array Size: %d\n", sizeof(a));
}

int main()
{
char *str_array[]={"one", "two", "three"};

printf("Array Size: %d\n", (int)sizeof(str_array));

array_size(str_array);

return 0;
}

最佳答案

在函数main中,str_array是一个包含三个char *的数组。

函数array_size的参数a只是一个指针。编译器在调用 array_size 时不会动态传递数组长度信息。

一个指针的大小不等于三个 char * 指针的大小。

关于c - 不同的数组大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16215420/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com