c - 内存实际上是如何查找 C 数组的?

标签 c arrays memory allocation

假设你有这个 C 程序

int main() {
     int *ptr;
     int ar[4];
     ptr = ar;
     return 0;
}

与标签 ar 关联的地址是保存数组第一个元素的基地址,还是保存第一个元素本身?如果是第二个,那么当你有 ptr = ar; ar 必须评估其代表的地址而不是该地址中的内容......对吗?

如果有任何意见,我将不胜感激

最佳答案

ar 是一个数组,不同于指针。

然而,在大多数情况下(例如当您将其分配给 ptr 时),它会衰减成为一个指针,即数组中第一个元素的地址.

关于c - 内存实际上是如何查找 C 数组的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9638846/

相关文章:

c - 如何使用共享文件使用 read() 和 write() 发送和接收消息? (C)

通过 Unix 系统服务 (USS) 中的 Shell 在 z/OS 上编译 C 程序

java - 如何修复内存泄漏问题在tomcat中发现内存泄漏的原因是什么

c - 如何在C中实现一个巨大的矩阵

java - CMS Old GC触发的阈值是多少

c++ - 卷到物理驱动器

从 CSV 数据构建 C 数组

java - 追加 char 数组以创建字符串

python - 插入排序算法修改输出

c++ - 如何检查数组中的值