- UID
- 478413
- 在线时间
- 0 小时
- 最后登录
- 1970-1-1
- 注册时间
- 2013-6-25
- 宅魂
- 433 点
- 贡献
- 87 点
- 宅币
- 5214 枚
- 灵石
- 0 块
- 元气(技能点)
- 3 点
- 活跃
- 0 ℃
- 听众
- 7
- 收听
- 0
该用户从未签到
序章
- 积分
- 6924
|
发表于 2013-7-17 22:40:51
|
显示全部楼层
其实你那个数组名的参数已经是地址了 ,括号据我所知并无取址功能,只能用于设置运算优先级,所以再次相当于没有。这样之前报错也解释的清。由于你带进去的是数组名,再加个&就相当于二次取址,即为取地址的地址……所以与定义的参数类型不符。
其实这点很好找啊,C的库里面,像是stdio.h神马的经常要调用字符串作参数啊,字符串也是数组来着。例如:_CRTIMP int __cdecl __MINGW_NOTHROW printf (const char*, ...);
以下为一段类似作用的代码,看看我理解的对不对。
[mw_shl_code=c,true]void getArray(int *the_array, int max) {
int i;
for(i = 0; i < 6; i ++) {
printf("%i", the_array);
}
}
int main(void) {
int array[6];
array[0] = 0;
array[1] = 1;
array[2] = 2;
array[3] = 3;
array[4] = 4;
array[5] = 5;
getArray(array, 6);
return 0;
}[/mw_shl_code] |
|