在C语言中,数组参数被视为指针,主要指向,
null
- 到 提高效率 密码
- 到 节省时间
在内存和时间方面,复制阵列数据的效率很低;大多数情况下,当我们传递一个数组时,我们的目的只是引用我们感兴趣的数组,而不是创建数组的副本。
下面两个fun()的定义看起来不同,但对编译器来说,它们的意思完全相同。
void fun(int arr[]) { // body}// This is validvoid fun(int *arr) { // body}// This is valid too
为了便于阅读,最好使用更准确的语法。
注: 如果输入的指针实际上是整个数组的基址,那么我们应该使用[]。
例子: 在本例中,数组参数被用作指针。
C
// C Program to demonstrate that C treats array parameters // as pointers #include <stdio.h> void findSum1( int arr[]) { int sum = 0; for ( int i = 0; i < 5; i++) sum = sum + arr[i]; printf ( "The sum of the array is: %d" , sum); } void findSum2( int * arr) { int sum = 0; for ( int i = 0; i < 5; i++) sum = sum + arr[i]; printf ( "The sum of the array is: %d " , sum); } // Driver code int main() { int arr[5] = { 1, 2, 3, 4, 5 }; findSum1(arr); findSum2(arr); return 0; } |
输出
The sum of the array is: 15The sum of the array is: 15
如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写下评论。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END