#include<stdio.h>
void ShowMember(int iMember); /*声明函数*/
int main()
{
int iCount[10]; /*定义一个整型的数组*/
int i; /*定义整型变量,用于循环*/
for(i=0;i<10;i++) /*进行赋值循环*/
{
iCount[i]=i;
}
for(i=0;i<10;i++) /*循环操作*/
{
ShowMember(iCount[i]); /*执行输出函数操作*/
}
return 0;
}
void ShowMember(int iMember) /*函数定义*/
{
printf("Show the member is%d\n",iMember); /*输出数据*/
}
我的目的不是要输出地址,只是跟学到的感觉有些出入。数组作为实参传过去的是首地址,是地址,但是为什么处理的是它的值?这点搞不清楚……
追答那现在告诉你原因,
iCount[i]是地址,
这么理解,比如该数组元素为编号为DXS66的老师,他叫纪晓岚;
你把他赋给指针变量时,指针变量获得的是 DXS66 这个编号,也就是地址;
你把他赋给整形变量时,整形变量获得的是 纪晓岚 这个名字,也就是值;
这个是数组元素的2中用法,C语法本来就是这样定义的。
谢谢了,虽然还没搞清楚,我再仔细想想,很感谢!
本回答被提问者采纳嗯,传递的是数组的地址,不是首地址,我记错了。数组名的是指向首地址的指针,不是地址哦
追答哈哈 你一定要记住 数组名是个地址而非指针。随着你对C的了解你会明白的。
追问……谢谢挺耐心的,呵呵