所以,我刚刚了解了数组、指针和衰减,但我不太明白。
如果“数组”(用 声明的东西int arr[])在传递给函数时只衰减为指针,为什么在 main 中评估时数组等于指向其第一个元素的指针?此外,如果 main 中的“数组”不是指针,而是arr[x]的语法糖,那么如果“数组”不是指针*(arr + x),为什么需要取消引用。令我更加困惑的是 main 中的 sizeof(arr) 返回正确的值,而在函数中它返回指针的大小。此外,我正在学习的 CS 课程指出,“数组”的名称实际上是指向其第一个元素的指针,但同样,这不是我从其他来源听到的。
此外,如果“数组”实际上是指针,有没有办法直接创建一个数组,跳过中间指针(如果你甚至想做这样的事情)。
任何人都可以帮我解决这一切吗?