请教一个关于字符串,指针数组和二维数组的问题
代码如下:这是一个区分指针数组和二维数组的程序.
#include <iostream.h>
void main(){
char*week1[7]={
"sun ",
"mon ",
"tue ",
"wed ",
"thu ",
"fri ",
"sat "
};
char week2[7][10]={
"sun ",
"mon ",
"tue ",
"wed ",
"thu ",
"fri ",
"sat "
};
cout < < "char*week[7]:\n week= " < <week1 < <endl;
for(int i=0;i <7;i++)
cout < <&week1[i] < < " " < <(void*)week1[i] < <endl;
cout < <endl;
cout < < "char week[7][10]:\n week= " < <week2 < <endl;
for(i=0;i <7;i++)
cout < <&week2[i] < < " " < <(void*)week2[i] < <endl;
cout < <endl;
}
========结果如下:================
char*week[7]:
week=0x0012FF64
0x0012FF64 0x00428074
0x0012FF68 0x00428070
0x0012FF6C 0x0042806C
0x0012FF70 0x00428068
0x0012FF74 0x00428064
0x0012FF78 0x00428060
0x0012FF7C 0x0042805C
char week[7][10]:
week=0x0012FF1C
0x0012FF1C 0x0012FF1C
0x0012FF26 0x0012FF26
0x0012FF30 0x0012FF30
0x0012FF3A 0x0012FF3A
0x0012FF44 0x0012FF44
0x0012FF4E 0x0012FF4E
0x0012FF58 0x0012FF58
Press any key to continue
============我的问题===========
我搞不清楚(*void)的作用,这个结果看不明白
[解决办法]
是的,前面一组其实就是指针的指针,也就是指针的地址,后面一组是指针持有的地址