C:遍历一串字符串

Ric*_*itt 3 c

我正在学习C,并且正在努力学习如何迭代字符串数组.
我们只是说我定义一个数组,如下所示:

char* argv_custom[] = {"--debug", "--verbose", "--test", "--ultimate"};
Run Code Online (Sandbox Code Playgroud)

现在,我将如何确定argv_custom中的字符串数量?(例如argc_custom)
我是否在第一时间采取正确的方式?此外,是否可以做以下事情:

伪代码

if ('--debug' in argv_custom) { // do stuff }
Run Code Online (Sandbox Code Playgroud)

Oli*_*rth 10

现在,我将如何确定argv_custom中的字符串数量?

规范的方法:

int argc_custom = sizeof(argv_custom) / sizeof(argv_custom[0]);
Run Code Online (Sandbox Code Playgroud)

注意:适用于数组本身,只要有指针(例如,如果传递argv_custom给函数),它就不再起作用:

char **p = argv_custom;
int argc_custom = sizeof(p) / sizeof(p[0]);  // No me gusta
Run Code Online (Sandbox Code Playgroud)

是否可以做以下事情:......

没有捷径.你必须迭代每个字符串,然后做strcmp.当然,您可以(并且可能应该)将此行为包装到函数中.