gpt4 book ai didi

c - 向指针添加值

转载 作者:太空狗 更新时间:2023-10-29 16:00:29 24 4
gpt4 key购买 nike

我尝试更改数组中的地址,但无法理解我的错误所在。

uint8 a[255] = {1, 2, 3, 4...., 66};
main(){
uint8 *testpointer;
testpointer = (&a + 32);

我的 a[] 的地址是 0x00000FC。我希望测试指针获得地址 0x00000FC + 32。但是如果我像在我的代码中那样做,它获得地址 0x000020DG。

最佳答案

问题是&a。这为您提供了一个指向数组 而非第一个元素的指针。

&a的类型是uint8 (*)[255],不是uint8 *

要解决您的问题,您需要使用纯 a 因为它会衰减到指向其第一个元素的指针(a 等于 &a[0] )。

关于c - 向指针添加值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50925926/

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