gpt4 book ai didi

c - 该程序中数组的行为是什么?

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

#include<stdio.h>

main()
{
int a[]={10,20,30,40,50};
char *p;
int i;

p=(char*)a;
for(i=0;i<8;i++)
{
printf("%d %u\n",*p,p);
p++;
}
return 0;
}

请解释一下数组在内存中的存储方式?

最佳答案

你的数组存储在一个连续的内存块中:

index:      0       |       1       |      2       |      3        |      4
bytes: 0 1 2 3 | 4 5 6 7 | 8 9 10 11 | 12 13 14 15 | 16 17 18 19
values: 10 | 20 | 30 | 40 | 50

这些问题会对您有所帮助:
Address of first element in static declaration of array
How does this pointer arithmetic work?

关于c - 该程序中数组的行为是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10828181/

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