C 星号(printf(";%s\n";,*argv))是什么意思?
星号(*++argv)是什么意思C 星号(printf(";%s\n";,*argv))是什么意思?,c,C,星号(*++argv)是什么意思 这里的argv是指向char类型指针的指针 *argv指向argv数组中的第一个参数字符串,它与argv[0]相同,类似地*(argv+1)和argv[1]指向第二个参数字符串,依此类推 argv代表参数向量,它包含argc+1(int-参数计数,最后一个默认为NULL)元素数。与char数组一样,参数向量的第一个元素保存整个参数向量的地址。所以,通过传递参数向量指针(*argv[]),程序在调用main函数时获得字符类型的参数 要了解如何获取参数向量参数并使用
这里的
argv
是指向char
类型指针的指针
*argv
指向argv数组中的第一个参数字符串,它与argv[0]
相同,类似地*(argv+1)
和argv[1]
指向第二个参数字符串,依此类推
argv
代表参数向量,它包含argc+1(int-参数计数,最后一个默认为NULL
)元素数。与char数组一样,参数向量的第一个元素保存整个参数向量的地址。所以,通过传递参数向量指针(*argv[]
),程序在调用main函数时获得字符类型的参数
要了解如何获取参数向量参数并使用它们,请查看。这只是正常的取消引用操作。是指针的问题吗?好的,我知道了。可能是重复的。我只是不知道指针,但我知道指针。我没有发现它是指针。
argv
是char*[]
,而不仅仅是char*
。也许您可以解释代码是如何遍历其参数的,并发布一个运行时示例。这将是一个更好的答案。“它包含argc数量的元素”-->argv[]
定义了argc+1
元素。最后一个是NULL
。
void main (int argc, char *argv[])
{
while (--argc)
{
printf ("%s\n", *++argv);
}
}