C语言数组怎么调用

如题所述

有好几种方法,我稍微说一下,你回去找书看一看:
通过数组首地址 指针 带下标的指针引用一维数组元素。
引用一维数组中的某一个元素的方法:
* :求当前地址的内容 & :求当前内容的地址
1 a【i】
2 *&a【i】 //*在定义语句时代表定义一个指针变量,当在执行语句部分时代表间址运算符,引用一个指针变量指向的地址的内容。&叫求地址运算符,求当前内容的地址。所以*和&就像乘号和除号一样,互相抵消了。
3 *(a+i):在数组名的地址上,加上i个存储单元。代表第(i+1)个元素,用间址运算符引用它,即等价于a[i]
4 当(p=a;||p=&a【0】) 则 *(p+i)等价于a[i]
5 当(p=a;||p=&a[0]) 则 p[i] 等价于 a[i] //方括号不仅表示数组元素的记方括号不仅表示数组元素的记方括号不仅表示数组元素的记方括号不仅表示数组元素的记号号号号,也是一种运算符也是一种运算符也是一种运算符也是一种运算符.
总结:引用一维数组元素 a[i] 的四种方法: a[i] *(a+i) 若p=a, 则 p[i] *(p+i) 表示a[i]的地址的方法:&a[i] a+i p+i 都表示当前数组第i个元素的地址。
http://wenku.baidu.com/view/46092a66783e0912a2162a27.html这是引用的网页,你可以自己去看看!来自:求助得到的回答
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-03-31
直接用数组名字调用即可。
如:
int a[10]={0,1,2,3,4,5,6,7,8,9];//定义一个数组变量并赋初值
你可以用a[3]、a[8]分别调用第3个元素(2)和第8个元素(7),如:
int b;//定义一个整形变量
你可以用:
b=a[3]+a[8];
执行上面以后b的值会成为:9(2+7=9)
第2个回答  2018-04-22

“scanf("%d",&a[6]);可以吗?好像可以,&是地址符,我把输入的数放在a[6]这个地址中去,是这样理解的吗?”

这样理解是对的;

&是取地址符,scanf("%d",&a);a是数组名,本身就是地址,&a是对整个数组所占的内存空间取地址,相当于我们定义了一个整型变量int a,对a取地址&a,得到的地址当然是a的首字节地址。

看看这个:网页链接

第3个回答  2018-04-22

基本上是对的,scanf()里的参数就是变量的地址

数组名你可以理解为这个数组的起始地址(第一个元素的地址),比如你这里的a,它就相当于是&a[0],a+i就是第i个元素的地址,所以要想给这个数组赋值,还可以这样

for(i = 0; i < 6; i++)
    scanf("%d", a+i);

第4个回答  2013-12-03
对于有数组参数的函数,编译程序要为其开辟相应的内存空间,而程序中两个函数
都有数组参数a[n][m],由于n,m是变量,编译程序并不知道n,m的具体值,所以不能
通过编译。
修改:
1.在#include<>下面添加以下伪指令:
#define n 5
#define m 5
2.将函数的参数形式改为:
int sum(int a[n][m]);
void pl(int a[n][m]);
并按此修改程序文件中所有关于这两个函数的申明和调用即可
相似回答