gpt4 book ai didi

C语言指针内存?

转载 作者:行者123 更新时间:2023-11-30 16:56:11 25 4
gpt4 key购买 nike

int num = 78;
int *p;

int array[SIZE] = {0,1,2,3,4};
char c[SIZE] = {'A', 'B', 'C', 'D', 'E'};

p = array[3];
*p = (int) *c;
p++;
array[4] = num;
p++;
p = c;
p++;

我正在尝试找出上述代码背后的内存。我知道指针 p 最初指向数组的第三个元素(即 3)。我不知道下一行是什么 *p = (int) *c;方法。谁能解释一下这行代码吗?

编辑:在 p 增加之后,任何人都可以解释它会指向什么?

最佳答案

  1. 您应该使用“p = &array[3];”。然后指针将指向数组的第三个元素,即“C”

  2. *p = (int) *c;

c[size] 是一个数组。 c 是数组的基指针。所以*c是基指针处的值,即'A'。该语句会将 'A' 放入数组的第三个元素中。所以数组现在包含 A, B, A, D, E

关于C语言指针内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40001802/

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