c语言中一维数组a的地址到底是a i还是a i sizeof int)

2021-04-22 05:04:25 字数 801 阅读 4866

1楼:

如果a是int型数组来,设a的地自

址是0,由于int是4字节,那么a+2就是地址8;编译器把a+2自动理解为a+2*sizeof(int),如果写成a+2*sizeof(int),那么上例中的地址就是32(因为a+2*sizeof(int)=a+8,编译器理解为a+8*4)而不是8了。所以a+2和a+2*sizeof(int)绝不是同一地址。也可以这样说,写a+2,编译器认为是a+2*sizeof(int);而如果写a+2*sizeof(int),则编译器认为是a+2*sizeof(int)*sizeof(int)!

2楼:匿名用户

试试不就知道了?编译器会根据元素类型来决定步长.

#include

intmain(void)

我的内结果是一样的容.

3楼:匿名用户

a+i*sizeof(int)

i 表示移动i个单位。。。单位大小取决于指针类型

#include int a[3][3]={1,2,3,4,5,6,7,8,9},*p; void main() { p=(int*)malloc(sizeof(ic语言

4楼:匿名用户

首先是 a的初始化

a的值为

a[0][0]~a[0][2] 1 2 3a[1][0]~a[1][2] 4 5 6a[2][0]~a[2][2] 7 8 9void main()

f(int *s,int p[3])

根据欧姆定律可以得到公式RUI,根据欧姆定律可以得到公式R= U I ,关于这个公式的下列说法中,正确的是( ) A.同一

1楼 坏艒 导体的阻值是导体本身所具有的性质,其大小决定于导体的长度 材料和横截面积,与通过它的电流 它两端的电压无关,电阻不随着电压和电流的改变而改变,所以a b c说法错误,不符合题意 由欧姆定律得出r u i ,若知道导体两端的电压和导体中的电流,我们可以计算导体的电阻 导体两端的电压增加几倍...