首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

有关数组名作为函数参数的有关问题

2012-08-22 
有关数组名作为函数参数的问题情况(1):我定义了一个函数:int getSize(char *A[]){...},函数体中有一句话是

有关数组名作为函数参数的问题
情况(1):
我定义了一个函数:int getSize(char *A[]){...},函数体中有一句话是:int size=sizeof(A),这个size是否就是指针数组A中的元素的个数?

情况(2):
同样定义一个函数int getSize(char *A){},函数体中有一句话是:int size=sizeof(A),但是我传入的实参是一个字符数组,这个size是否就是我传入字符数组中的元素的个数(不包括0)?如果不对的话,是不是要按情况1所说的把形参修改一下?

[解决办法]
当数组名作为参数传递的时候会退化成为指针。。。。。。。。
[解决办法]
http://topic.csdn.net/u/20120501/23/b1d6172c-d36b-437b-9a7d-51d5ebecb4ee.html点错了
[解决办法]
这个传递的应该是A数组的首地址吧,其实数组有的时候就是一种指针的用法。假如你定义一个数组a[],那么你直接写a,就代表这个数组的首地址,也就是第一个元素的值。这样才能够理解*(a+i)的意义了吧。
同样你的size (A) 不应该是数组的元素个数,应该是是作为指针的的大小。也就是一个int型的大小。应该是4
吧。
没有验证 我刚学C。

热点排行