gpt4 book ai didi

c - c-array 如何在内存中存储/表示

转载 作者:太空宇宙 更新时间:2023-11-04 03:47:47 26 4
gpt4 key购买 nike

char buffer[]="foobar";

我知道 buffer 是指向第一个元素的 char* 指针,所以 buffer==&buffer[0] 但是为什么 &buffer==buffer? &buffer 应该给出缓冲区 char* 的内存地址而不是第一个元素的地址?

另外,当我做 (int)buffer 时会发生什么?

最佳答案

buffer 是第一个元素的地址,&buffer 确实是数组本身的地址。该数组将直接存储在堆栈中。这就是为什么 &buffer == buffer。

它不是指针而是数组。如果你将它声明为 char*,它就不会是 &buffer == buffer

关于c - c-array 如何在内存中存储/表示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22983142/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com