关于指针的指针郁闷很久了,一直不知道该怎么用,和其中每个元素的含义 ,今天又空搞了下,明白点了,
写下来,以便以后参考。
我写了如下代码:/*
char * arr[20];
#########################################################
# 关于int **p的应用范围的问题,通常他被当作是一个指针数组的#
#指针,那么这个指针通常是这样被赋值的
# char * arr[20] ; ...//初始化,略去1000字
# char **p = arr; # p 代表了 arr[i] 是一个字符指针。
# *p 代表了 &arr[i]也就是说每个字符的确切的值。比如 char a = 'a';
# arr[0] =&a; 这里*p代表了 a 所在的地址。
# **p[表了变量a中的字符值。] #########################################################
*/
char a = 'a';
char b = 'b';
for (int i = 0 ;i<19;i++)
{
if ((i % 2) ==0 )
arr[i] =&a;
else
arr[i] =&b;
};
char **p = arr;
cout << *(*p+1) << "/n";
cout << *p << "/n";
cout << p<< "/n";
cout << &a<<"/n";
总结:指针的指针通常被用作数组赋值。那么既然是数组p代表了指针数组中的每个元素,