【发布时间】:2022-07-14 00:30:10
【问题描述】:
所以我在后台读到,在函数中传递数组时,编译器会将 int myArray(int arr[]) 转换为 int myArray(int* arr)。
还有一个数组大多数时候会衰减到一个指针,例如 arr[0] 与 (arr + 0) 相同
(如果我错了,请纠正我)
但是当涉及到 char *argv 时,它会变得令人困惑,char *argv[] 会转换为字符串数组 例如:
argv[2] = "你好"
argv[3] = "世界"
但是 **argv 和 *argv[] 怎么做一样的,因为 **argv 是指向指针的指针,**argv 怎么能包含 10 个不同的值 因为它是指向指针的指针?我想我误解了一些东西。提前谢谢你
【问题讨论】:
-
int*只是一个指向int的指针,它怎么能包含 10 个不同的值?