双重指针指向一维数组怎么引用呢
c语言吧
全部回复
仅看楼主
level 8
wangbiao170 楼主
void change(int** val){
int i;
for(i=0; i<5; i++){
printf("%d\n", ???)//如何引用val数组的值呢?
}
}
int main(){
int val[5] = {1,2,3,4,5};
change(&val);
return 0;
}
谢谢了
2015年01月13日 07点01分 1
level 11
暖贴
⚠ 多一分努力,多一分希望,明天会更好      
2015年01月13日 07点01分 2
level 16
/data/data/com.n0n3m4.droidc/files/temp.c: In function 'main':
/data/data/com.n0n3m4.droidc/files/temp.c:10:2: error: passing argument 1 of 'change' from incompatible pointer type
change(&val);
^
compilation terminated due to -Wfatal-errors.
它根本就不能指向一维数组。
2015年01月13日 07点01分 3
level 10
房间A里放着保险柜的钥匙,
房间B中放着房间A的门钥匙,
房间A和保险柜都是锁着的,
那么请问你要拿到保险柜里的东西应该怎么拿?
指针A里放着数组的地址,
二级指针B放着指针A的地址,
那么请问你要访问数组怎么访问?
2015年01月13日 08点01分 4
level 8
wangbiao170 楼主
#include <stdio.h>
void change(int** val){
int i;
for(i=0;i<5;i++){
printf("%d\n",(*val)[i]);
}
}
int main(){
int val[5] = {1,2,3,4,5};
int* p = val;
change(&p);
return 0;
}
这样就好了
@sunchy12345678
2015年01月13日 08点01分 5
level 13
太难不懂
2015年01月13日 10点01分 6
level 13

引用?一股艹C艹的既视感~
2015年01月13日 10点01分 7
level 14
#include <stdio.h>
void change(int** val)
{
int i;for(i=0;i<5;i++)
{
printf("%d\n",(int)*val++);
}
}
int main(void)
{
int val[5] = {1,2,3,4,5};
change((int**)val);
return 0;
}
//既然强制转换了,你只是用个指针当"中间人"而已......看看这个??-- @wangbiao170 5楼...
2015年01月13日 10点01分 8
我要实现的是改变指针的指向,所以传进去的要是一个双重指针,之前不知道怎么获取数组的值
2015年01月13日 11点01分
@wangbiao170 大多书是叫指针的指针吧...你提双重指针就,呵呵了....4,5级指针又怎么叫呢? [哈哈][吐舌][滑稽]
2015年01月13日 11点01分
回复 光棍一声笑 :csdn和stackoverflow上是叫双重指针,纠结这个有用吗?书是人写的或者人翻译的,读死书
2015年01月13日 12点01分
@wangbiao170
大多书是叫指针的指针[滑稽]我并没说你对错....你爱怎么叫就怎么叫好了..
2015年01月13日 12点01分
level 1
双眼已瞎[戳眼]
2015年01月13日 10点01分 9
1