c - 将指向 char 数组的指针作为参数传递给函数 - C

标签 c arrays pointers

在下面的函数声明中,第一个参数是一个字符串,具体来说,是一个字符数组,第三个参数是一个指向整数的指针。第二个参数是指向字符数组的指针吗?换句话说,指向指针的指针?我在阅读了相关问题的答案后发现了这一点:Difference between passing array and array pointer into function in C

void setup(char inputBuffer[], char *args[], int *background) {...}

换句话说,*args[]是否等同于**args?

非常感谢!

最佳答案

是的,在将参数传递给函数时,char *args[] 等同于 char **args

在第一个参数 char inputBuffer[] 中,该函数实际上接收的不是整个 char 数组,而是一个指针变量,其中包含其第一个元素的地址。

在第二个参数 char *args[] 中,类似地,函数接收的不是指向 char 的整个指针数组,而是一个保存地址的指针变量的第一个元素。在这种情况下,元素本身就是一个指针。因此,该函数接收一个指向 char 指针的指针,相当于 char **args

关于c - 将指向 char 数组的指针作为参数传递给函数 - C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28032885/

相关文章:

c - 检索任务栏停靠位置: result incorrect

java - JAVA,使法线数组具有顶点数组的长度(来自已解析的OBJ文件)

c++ - 从智能指针获取原始指针

无法从 Fortran 90 中返回的 C 浮点指针获取数据

c - 指针和内存范围

c - 函数的意外返回值

c - (在 C 中)使用数组实现堆栈 - 将数组大小时加倍时出现运行时错误

c - 指向结构指针的空指针

java - 从 jsonArray 读取值

java - 如何将一组数字连接成一个数字