为您找到"

int a[]={1,2,3,4,5};int *p;p=&a,这样的操作不行?

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

已知int a[]={3,4,5} *p=&a[0] 则表达式a[0]==*(p+1

经过p = &a[0];赋值操作,p已经指向数组a的第一个元素3,那么*(p + 1)就是a[]的第二个元素4,那么3 == 4则为假,故选择A。答案

...int a[ ]= { 1, 2, 3, 4, 5, 6, 7, 8 }, *p=a; 且0≤i≤7_百度...

A是错误的。A是地址与整型相加,本身就是错误的。参照C选项,正确写法可以写成*(p+i),则i代表地址偏移。B中,先算p-a,即两个地址相减,值为0,则a[p-a]等价于a[0]。C中,根据i的值进行地址偏移,加上*取出地址中的元素。D中,p[i]等价于a[i]。望采纳。

int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则数值为9的表达式是_百度知 ...

选B 记住这样一个无条件相等的等式:(p+i)与P[i]无条件等价。因为p是指向数组a首元素的地址,所以p[i]又和a[i]等价。易知B选项即为p[8],也即为a[8],其值为9。

设已有声明“int x[]={1,2,3,4,5,6},*p=&x[2];”,则值为3的表达式是...

选择B int *p=&x[2]表示p是一个指向x[2]地址单元的指针,就*p=x[2]=3.所以你要找的是哪一个表达式的意思是:*p.B中 先取值,然后p再++,即输出3,然后p指向&x[3].B

int a[2][3] int (*p)[3] = a;

a[3][2]={{1,2},{3,4},{5,6}};int (*p)[3] = a;(*P)代表的是行;则p指针指向的是函数3个元素(每个元素两个值)的数组;*(p+1)为这个数组第二个元素({3,4})的首地址,(*(p+1)+1)为{3,4}里的第二个元素,为4。p...

C语言中的指针问题到底是怎么回事~

1。 char a[20]; 2。 int *ptr=a; ... ... 3。 ptr+=5; 在这个例子中,ptr被加上了5,编译器是这样处理的:将指针ptr的值加上5乘sizeof(int),在32位程序中就是加上了5乘4=20。由于地址的单位是字节,故现在的ptr所指向的地址比起加5后的ptr所指向的地址来说,向高地址方向移动了20个字节。在...

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

我也来回答一下,个人见解,欢迎指教。int a[5],*p;p=a;p=&a[0];p=&a int a[5];//a是指针常量,表示的是数组首元素的地址,即a=&a[0]。int *p=a;p=&a[0];//因为a=a[0],所以p=a 和p=&a[0]是等价的。p=&a//int *p,p是一个指向int类型的指针,而&a表示的是指向...

main(){int a[]={1,2,3,4,5,6,7,890},*p;for

a代表数组起始地址,也就是1的地址,a+10是0后面地址 a

...给定一个数组a[10]={1,2,3,4,5,6,7,8,9,10};,使用指针将数组存放的内...

include<stdio.h>int main(){int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a,*q=a+9,t; for(;p<q;p++,q--) {t=*p;*p=*q;*q=t;} for(p=a;p<a+10;p++) printf("%d ",*p); return 0;}

...int a[2][2]={1,2,3,4},(*p)[2];,则在语句p=a;p++;后,**p的值为...

答案选B p = a;让a指向int a[2][2]的int a[][2];p++让p指向int[][2]的第二个地址,int a[1][2]的地址,所以**p的值是3.
1 2 3 4 5 6 7 8 9

相关搜索