Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C中将数组传递给函数的方法不同_C_Arrays_Parameter Passing - Fatal编程技术网

C中将数组传递给函数的方法不同

C中将数组传递给函数的方法不同,c,arrays,parameter-passing,C,Arrays,Parameter Passing,定义以下内容之间是否有区别: void example(int usuario[]); 或 在c中,数组名在传递时衰减为指针。在usario上的两个示例中使用sizeof将返回int指针的大小,而不管大小如何。所以这两个例子是相同的,和 void example (int *usario) 此上下文中的[]语法纯粹是语法上的糖分。从功能上讲,指针就是您实际使用的指针-[]或[SIZE]只对未来的程序员有用,因为他们希望看到您一个长度大小的数组。编译器根本不会强制执行此操作 在现代编译器上,如

定义以下内容之间是否有区别:

void example(int usuario[]);


c
中,数组名在传递时衰减为指针。在
usario
上的两个示例中使用
sizeof
将返回int指针的大小,而不管
大小如何。所以这两个例子是相同的,和

void example (int *usario)
此上下文中的
[]
语法纯粹是语法上的糖分。从功能上讲,指针就是您实际使用的指针-
[]
[SIZE]
只对未来的程序员有用,因为他们希望看到您一个长度
大小
的数组。编译器根本不会强制执行此操作


在现代编译器上,如果您在函数中执行了
sizeof(usario)
,您将收到警告-您可以用这两个示例进行尝试。

c
中,数组名在传递到指针时衰减。在
usario
上的两个示例中使用
sizeof
将返回int指针的大小,而不管
大小如何。所以这两个例子是相同的,和

void example (int *usario)
此上下文中的
[]
语法纯粹是语法上的糖分。从功能上讲,指针就是您实际使用的指针-
[]
[SIZE]
只对未来的程序员有用,因为他们希望看到您一个长度
大小
的数组。编译器根本不会强制执行此操作

在现代编译器上,如果您在函数中执行了
sizeof(usario)
,您将得到一条警告-您可以用两个示例进行尝试。

检查此答案检查此答案