吾爱程序员:这里有好玩的游戏和软件
当前位置:首页C语言教程 → 为什么 C 将数组参数视为指针

为什么 C 将数组参数视为指针

来源:网络 | 更新时间:2022-01-16 08:30:39
在 C 中,数组参数被视为主要指向的指针,
  • 提高代码效率
  • 为了节省时间
复制数组数据在内存和时间上都是低效的;大多数时候,当我们传递一个数组时,我们的意图只是引用我们感兴趣的数组,而不是创建数组的副本。 以下两个 fun() 的定义看起来不同,但对于编译器来说,它们的含义完全相同。 
void fun(int arr[]) { 
// body
}
// This is valid
void fun(int *arr) { 
// body
}
// This is valid too
最好使用更准确的语法以提高可读性。 注意:如果传入的指针确实是整个数组的基地址,那么我们应该使用 [ ]。 示例:在此示例中,数组参数用作指针。
// 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: %dn", sum);
}

void findSum2(int* arr)
{
int sum = 0;
for (int i = 0; i < 5; i++)
sum = sum + arr[i];
printf("nThe sum of the array is: %d n", 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: 15

The sum of the array is: 15

最新文章

热点资讯

手游排行榜

CopyRight 2020-2030吾爱程序员

鄂ICP备2021004581号-8

本站资源收集于网络,如有侵权请联系我们:35492删除0109@qq.com