赞
踩
一个数组,其元素均为指针类型数据,称为指针数组。
即:指针数组中每一个元素都是指针变量。
指针数组的定义格式:
类型标识符 *数组名(数字长度说明);
如:
int *p[4]; //每个数组元素都可以看成是一个指针变量,都可以指向 一个整型普通变量。
数组指针:int (*p)[4]; //这是指向一维数组的指针变量,也就是说,他首先是一个指针变量。
例题:
- #include<stdio.h>
-
-
- int main()
- {
- char *pName[]={"C++","JAVA","PYTHON","GO","CSHarp"}; //指针数组
- int is1=sizeof(pName); //每个指针变量占4个字节,所以有五个元素一共占20个字节
- int isize=is1/sizeof(pName[0]); //20/4=5,表示pName中有5个元素,pName能引用的下标就是[0]-[4]
- int i;
-
-
- char *p2="JAVA"; //把字符串的首地址赋值给指针;字符串常量会固定分配地址;p2=pName[1]
-
-
- for(i=0;i<isize;i++)
- {
- printf("pName[%d]=%s\n",i,pName[i]);
- }
- printf("----------------------------------\n");
-
-
- char *ptemp;
- ptemp=pName[0]; //ptemp指向了"C++"
- pName[0]=pName[1]; //pName[0]指向了"JAVA"
- pName[1]=ptemp; //pName[1]指向了"C++"
- /*
- ptemp保存了"C++"的地址,然后pName[1]保存了"JAVA"的地址,最后再把"C++"的地址给pName[2].
- */
- for(i=0;i<isize;i++)
- {
- printf("pName[%d]=%s\n",i,pName[i]);
- }
- printf("----------------------------------\n");
- return 0;
- }
![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png)
- 接上方代码
-
- char **pp; //定义一个指向指针的指针
- pp=&pName[0]; //*pp就是pp所指向的指针,也就是pName[0];
- printf("pp=%s\n",*pp);
- printf("----------------------------------\n");
-
-
- int abc=5;
- int *pabc=&abc; //指向 整型数据的指针 *pabc保存的是 abc的地址
- int **ppabc=&pabc; //指向 指针的指针 **ppabc保存的是 [*pabc保存的地址(就是abc的地址)]
- printf("abc=%d\n",abc);
- printf("abc=%d\n",*pabc);
- printf("abc=%d\n",**ppabc); //*ppabc 等价于 pabc,所以 **ppabc 等价于 abc
-
-
- return 0;
- }
![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png)
-
-
-
- 第一种方法:
-
- int main(int arge,char *argv[]) //int arge:整型形参 应该是argv指针数组的元素个数
- //char *argv[]:指针数组做函数形参argv[0]保存的是 当前可执行文件的完整路径文件 名;可以接收不确定参数个数
- {
- int i;
- printf("argc=%d\n",arge); //我们输入的参数个数 +1
- for(i=0;i<arge;i++)
- {
- printf("argv[%d]=%s\n",i,argv[i]);
-
-
- //等价于上面一条代码
- printf("argv[%d]=%s\n",i,*argv);
- argv++;
- }
-
-
- printf("-------\n");
- return 0;
- }
![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png)
第二种传递形参的方法(使用命令行):
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。