今天终于弄明白了,指针数组,和指向指针的指针的区别。
1 #include
2 #include
3 void main()
4 {
5
6 char a[]="1234567890MMMMMMM";
7 char *p= a;
8 char** argv=&p;
9 printf("%s\n",*(argv+0));
10 //char *argv[]={"12345","67890","MMMMMMM"};
11 //for(i=0;i<3;i++)
12 //{
13 // printf("%s\n",argv[i]);
14 //}
15 }
一. 指针概念:
当我们程序如下申明变量:
short int i;
char a;
short int * pi;
程序会在内存某地址空间上为各变量开辟空间,如下图所示。
内存地址→6 7 8 9 10 11 12 13 14 15
-------------------------------------------------------------------------------------
… | | | | | | | | | |
-------------------------------------------------------------------------------------
|short int i |char a| |short int * pi|
图中所示中可看出:
i 变量在内存地址5的位置,占两个字节。
a变量在内存地址7的位置,占一个字节。