我有一个问题,我有一个函数,我不明白具体的东西。功能是:指针函数与数组
int F(int* x , int n){
int i , m=0
for (i=0;i<n; i++){
m=x[ i ] + m;
}
return m * m ;
}
我用指针和整数调用函数。后来我做“为”,但我不明白这行:
m=x[ i ] + m;
由于x是一个指针不是一个数组。
你能帮我吗。
然后x指向内存位置,然后到+1。例如,如果我打电话
n=10
x=&n
F(x,n)
函数返回somenthing奇怪。
X指向位置记忆为n,后来到位置记忆为n + 1?
数组索引对指针类型也起作用 - 数组和指针或多或少可互换 –
** x [i] **等于** \ *(x + i)** –
然后x指向内存位置然后+1。例如,我用n = 10来调用函数,x =&n; F(x,n),函数返回奇异 –