本文介绍了如何给C中的每个整数赋予地址?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
main()
{
int x;
int * y;
x = 5;
y =& x;
printf(%d ,y);
printf(\ n%d,y + 1);
此程序的输出即将到来
22124
22128
这里我将y增加1;它会增加4 ....为什么?
我尝试过的事情:
为什么它是22128而不是22125?
main()
{
int x;
int *y;
x=5;
y=&x;
printf("%d",y);
printf("\n%d",y+1);
output of this program is coming
22124
22128
here I'm increasing y by 1; and it gets increase by 4....why?
What I have tried:
why it is 22128 instead of 22125?
推荐答案
Quote:
22124
22128
这里我将y增加1;它会增加4 ....为什么?
22124
22128
here I'm increasing y by 1; and it gets increase by 4....why?
这与int的大小有关。
当你向y添加1时,你不要在地址中添加1,在整数上添加大小为4.
[]
int firstItem = y[0];
int *firstAddr = &y[0]; // or: y
int secondItem = y[1];
int *secondAddr = &y[1]; // or: y + 1
这篇关于如何给C中的每个整数赋予地址?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!