C学习-基础:指针数组 及其 作为 main函数的形参
指针数组
由若干个指向同类型对象的指针数据可以组成一个数组,称为指针数组。其中每个数组元素都是指针变量
类型名 *数组名[数组大小];
例如:int* pa[10];
请注意,不要把定义指针数组与定义指向含有若干数组元素的指针变量相混淆。
int (*pa)[10]; /* 表示定义一个指向含有10个数组元素的一维数组的指针变量*/
指针数组作main函数的形参
int main( int argc, char *argv[ ] )
{ 函数体 }
其中:
形参argc:用来存放命令行中单词的个数,它表示传递给程序的参数个数(指包括命令名在内的所有参数),为整型,它的值至少是1;
形参argv:是指向字符串的指针数组,用来存放命令行中单词的内容,实际上存放的是命令名和各个命令行参数字符串的首地址。各个参数之间要有空格,其中的argv[0]指向命令名字符串,argv[1]到argv[argc-1]就分别指向命令名后面的各个实参字符串。
形参argc和argv的名字可由用户任意命名(一般情况下可以不用改变);但它们的类型却是固定的,不能由用户改变。
例子:参数回送命令
#include <stdio.h> int main(int argc, char const *argv[]) { printf("你输入了%d个参数:\n", argc - 1); // argc 包括执行文件名,纯参数个数需要 -1 while (--argc > 0) //定义循环的次数 { printf("你输入的参数有:%s\n", *++argv); // 通过 指针每次 取一个指针数组的元素 } return 0; }
使用:编译后 cmd 下面运行
D:\vscode>xianshi.exe ni hao laojia woqu haha 你输入了5个参数: 你输入的参数有:ni 你输入的参数有:hao 你输入的参数有:laojia 你输入的参数有:woqu 你输入的参数有:haha
共 0 条评论