int main(int argc, char **argv)和int main(int argc, char *arg[])的区别
1. 字符和指针
1.char *a: 一级指针,a数据地址,*a指针指向的数据
printf(“%c”,*a)输出一个字符,printf(“%s”,a)输出字符串
举个栗子:
char *p1,*p2
char str[]=”study” 字符数组,内容可变
p1=str
p2=”hard” 字符串,字符串以字符数组存储,以’\0’结束,内容不可变
2.char **a: 二级指针,指向char *a[]
printf(“%c”,**a)输出一个字符,printf(“%s”,*a)输出字符串
举个栗子:
char **w
char *week={“Moday”,”Tuesday”,”Thursday”}
w=week
3.char *a[]: a是一个数组,数组的元素是字符串地址,地址包含的值是字符型数据
printf(“%c”,*a[i])输出一个字符,printf(“%s”,a[i]))输出字符串
举个栗子:
char *a[]={“study”,”hard”}
2. argc 和 argv
argc是命令行总的参数个数 argc 至少是1 argv[]是argc个参数 其中第0个参数是程序的全名 后面的参数是命令行用户输入的参数
3. 区别
(int argc,char *argv[]) argv指向字符串的指针数组
(int argc,char **argv) argv指向char *,即argv存的是指向字符串的指针数组的地址
4. VS中如何使用argv
命令参数里输入参数,试一下下面这个简单例程就理解了