首先一段代码:
代码语言:javascript复制char a[4] = {1,2,3,4};
//int * ptr = a; //a的地址赋值给ptr
char * arr[4];
char i = 0;
char ** parr = arr; //arr的地址赋值给parr
char * str;
*(arr) = a; //a的地址赋值给arr[0]
arr[1] = a 1; //a[1]的地址赋值给arr[0]
*(arr 2) = a 2;
*(arr 3) = a 3;
str = *parr; //arr[0]的内容赋值给str
printf("%dn",str[0]);
str = *(parr 1); //arr[1]的内容赋值给str
printf("%dn",str[0]);
/*
parr是指针的指针,char ** parr = arr赋值后,
指针变量parr保存的就是数组arr的地址
*(parr i)相当于arr[i],由于arr是指针数组,里面保存的是指针,
同时,上面的赋值语句,将数组arr4个变量赋值为数组a每一个元素的地址
*/
for (i=0; i<4; i )
{
str = *(parr i);//这个语句的意思是打印出数组a的所有数据.
printf("%dn",*str); //*str=str[0]
}
Vc 6.0运行界面如下,调试功能还是不错的,
具体的信息如下所示: