gpt4 book ai didi

c - 带有数组的指针函数

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

我有一个问题,我有一个函数,但我不明白具体的事情。其功能是:

int F( int* x , int n ){
int i , m=0
for (i=0;i<n; i++){
m=x[ i ] + m;
}
return m * m ;
}

我使用指针和整数调用该函数。后来我做了一个“for”,但我不明白这句话:

 m=x[ i ] + m;

因为 x 是指针而不是数组。

你能帮我一下吗?

然后x指向内存位置,然后指向+1。例如,如果我用

调用该函数
n=10
x=&n
F(x,n)

该函数返回一些奇怪的东西。

X指向内存到n的位置,稍后又指向内存到n+1的位置?

最佳答案

由于 x 是一个指针,因此当您将数组传递给函数时,x 指向数组的第一个元素。由于数组是连续分配的内存,因此可以使指针指向数组的连续元素。这就是为什么

m=x[i]+m

x[i] 表示从数组第一个元素开始的第 i 个索引

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

该函数将数组发送给函数,其中10为数组的大小

关于c - 带有数组的指针函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17376368/

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