标题:形参数组存储实参的数组首地址在哪里?
只看楼主
ycyu1455
Rank: 1
等 级:新手上路
帖 子:38
专家分:0
注 册:2016-4-3
结帖率:33.33%
已结贴  问题点数:10 回复次数:3 
形参数组存储实参的数组首地址在哪里?
#include<stdio.h>
void  Evaluate(int iArrayName[10]);   
void  Display(int iArrayName[10]);        

int main()
{
    int iArray[10];            

    Evaluate(iArray);            
    Display(iArray);   
    return 0;
}

void  Evaluate(int iArrayName[10])        
{
    int i;                    
    for(i=0;i<10;i++)            
    {
        iArrayName[i]=i;        
    }
}

void  Display(int iArrayName[10])    //例如这里,实参数组iArray的首地址是不是存储在这个数组iArrayName的第一个元素中,不过这样理解的话,第二个元素怎么与实参第二个元素连接,逻辑好混乱
{
    int i;               
    for(i=0;i<10;i++)        
    {
        printf("the member number is %d\n",iArrayName[i]);
    }
}
搜索更多相关主题的帖子: include return 
2016-06-03 12:52
ycyu1455
Rank: 1
等 级:新手上路
帖 子:38
专家分:0
注 册:2016-4-3
得分:0 
怎么测试是这样子的,形参的数组大小只有4字节,变成了一个指针大小,难道数组会自动变成指针变量?
2016-06-03 13:42
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:10 
b是数组指针
2016-06-03 15:16
ycyu1455
Rank: 1
等 级:新手上路
帖 子:38
专家分:0
注 册:2016-4-3
得分:0 
回复 3楼 吹水佬
是不是数组做参数时,不管是形参还是实参都会被转换成指针这样子理解?,那如果在形参中定义一个指针变量,是不是等效于一个定义一个数组,可以当成一个数组来用,例如下面这些代码
#include<stdio.h>
void Evaluate(int* pPoint)    /*虽然这里是定义一个指针变量,但是在函数体重可以当成数组使用*/
{
int i;
for(i=0;i<10;i++)
{
pPoint[i]=i;
printf("the member number is %d\n",pPoint[i]);    /*这样子,可以像数组一样添加下标*/
}
}

int main()
{
int iArray[10];
Evaluate(iArray);
return 0;
}

[此贴子已经被作者于2016-6-3 17:57编辑过]

2016-06-03 17:50



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-465547-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.847755 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved