为您找到"

数组问题 int a[5],*p;p=a;p=&a[0];p=&a;都是什么含义

"相关结果约100,000,000个

C语言, a就是数组的首地址啊,那a++不也是地址吗? 还有,p[5]表示...

a地址 + 1 * sizeof( a 的类型)p[5] 在声明里表示 声明 p 是数组,它有5 个元素。例如: int p[5];p[5] 在语句里表示 下标变量,它是数组p里的第6个元素。 因下标 从 0 起始。 例如:p[5]=666;语句...

C语言高精度加法 位数少的还行 位数一大就出错,求解释,谢谢

b=1 \0 x x …;注意,x可能为任何字符,因为在声明一个数组时不会初始化值,所以在运行exchange()后得到:a=3 2 1\0 x x x b=1 \0 x x x 故c= 4 2 x \0 x x 再运行exchange()得到c= x 2 4...

...void main () { int a[5]={1,2,3,4,5}; int *ptr=(int *)(&_百度...

这题的关键在int *ptr=(int *)(&a+1);这一句上,&a表示取得数组a存储区域的首地址,再加1表示数组a存储区域的后的地址,这就使得ptr指针指向数组的最后一个元素后面的那个存储单元的地址,而ptr减1后,再进行数据...

c语言问题

数组和指针的关系 如果对声明数组的语句不太明白的话,请参阅<<如何理解c和c++的复杂类型声明>>, 数组的数组名其实可以看作一个指针,看下例:例八:int array[10]={0,1,2,3,4,5,6,7,8,9},value;...value...

int a=5, *p, *q=&a; *p=q* 哪错了?

int a=5, *p, *q=&a;这个语句定义了 a 为整型变量,p 和 q 是整型指针,a 存储了5,q存储了a的地址;p=q*这个有错,首先p没有初始化就开始用了,我们不清楚p指向了内存中哪个位置,这是非常危险的,其次,q...

int a[10],*p=a,*q=&a[5];q-p=

因为指针p指向的是数组a的第1个元素,指针q指向的是数组a的第6个元素,注意数组下标是从0开始的,所以q-p=5,希望能帮到你。

int a[3][4],*p=&a[0][0];p+=6,那么*p和( )的值相同 A.*(a+6) B.*...

C语言规定:二维数组元素在内存中顺序排放,排列顺序是按行存放。即先顺序存放第一行的数组元素,然后存放第二行的数组元素,依此类推。int a[3][4]第一行:a[0][0],a[0,1],a[0,2]此时a[0,2]的地址==p+=...

c语言中什么时候可以这样定义数组"int a[]"

这与int a[5]={1,2,3,4,5} ; 是一样的,[]中不写数字,表示数组空间大小由实际数组元素数据个数来决定。这样定义的数组,一般表示一个常量数组。当然,因为没有加const,也可以修改数组元素内容,如:a[0]=6 ;...

main() { int a[5] = {1,2,3,4,5}; int *ptr =

我看了其它回答后为你做的补充。&a为取数组名的地址,即为整个数组的地址,它的类型为数组类型,(int*)(&a+1)将其强制转换成整型指针赋值给*ptr,并指向了数组界外,最后用*(ptr-1)又指向了界内的最后一个元素5。

已知:int a[5]={1,2,3,4,5}, *p=a+2; 则*P的值是

指针p指向数组a[2]的位置,所以*p的值为3;
1 2 3 4 5 6 7 8 9

相关搜索