定义数组a[ ],为什么int *p=&a[0];等于int *p; p=&a[0];如果int a;int *p;p=&a;*p=a;这里的指针变量p放的是a的地址,*p就是指a的内容,如果上式成立,那么关于这个如果写成int *p=&a就不对了?为什么感觉是*

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/06 23:15:33
定义数组a[ ],为什么int *p=&a[0];等于int *p; p=&a[0];如果int a;int *p;p=&a;*p=a;这里的指针变量p放的是a的地址,*p就是指a的内容,如果上式成立,那么关于这个如果写成int *p=&a就不对了?为什么感觉是*

定义数组a[ ],为什么int *p=&a[0];等于int *p; p=&a[0];如果int a;int *p;p=&a;*p=a;这里的指针变量p放的是a的地址,*p就是指a的内容,如果上式成立,那么关于这个如果写成int *p=&a就不对了?为什么感觉是*
定义数组a[ ],为什么int *p=&a[0];等于int *p; p=&a[0];
如果
int a;
int *p;
p=&a;
*p=a;
这里的指针变量p放的是a的地址,*p就是指a的内容,如果上式成立,那么关于这个如果写成int *p=&a就不对了?为什么
感觉是*p放的是内容,int *p=&a[0];根据优先级,好像应该是说把a[ ]的地址给*p,就是说p里面放的是a[ ]
地址的地址,而*p则等于a[]的地址!

定义数组a[ ],为什么int *p=&a[0];等于int *p; p=&a[0];如果int a;int *p;p=&a;*p=a;这里的指针变量p放的是a的地址,*p就是指a的内容,如果上式成立,那么关于这个如果写成int *p=&a就不对了?为什么感觉是*
一个是声明时初始化,一个是先声明后赋值,在C语言里两者等价.
更好的写法应该是int *p=a;因为C语言数组名等于首个元素的地址,
也就是a == &a[0]

定义数组a[ ],为什么int *p=&a[0];等于int *p; p=&a[0];如果int a;int *p;p=&a;*p=a;这里的指针变量p放的是a的地址,*p就是指a的内容,如果上式成立,那么关于这个如果写成int *p=&a就不对了?为什么感觉是* 已知数组A和指针p定义为:int A[20][10],*p;,要使p指向A的首元素,正确的赋值表达式是[ ].为什么选择D已知数组A和指针p定义为:int A[20][10],*p;,要使p指向A的首元素,正确的赋值表达式是[ ].A) p=&A 或 C语言若定义int a[5],*p=a;则对a数组元素正确引用为哪个?为什么?A *&a[5] B a+2 C *(p+5) D*(a+2) CD有何不同? 若有以下定义,则正确引用数组元素的是()为什么?int a[5],*p=a;A *&a[5] B *a+2 C *(a+2) D *(p+5) 若有定义:int *p[3];'则以下叙述正确的是 帮我详细说说为什么!若有定义:int *p[3];'则以下叙述正确的是 A.定义了一个指针数组p,该数组含有三个元素,每个元素都是基类型为int的指针B.定义了 若有定义 int a[3][4],*p; 则对数组元素a[i][j](0 若有定义:int a[5],*p=a; 则对a数组元素地址正确引用的是( ).&a[5] p+2 a++ &a C语言规定,数组名代表数组的首地址,也就是第0号元素的地址.因此,下面两个语句等价:p=&a[0];p=a;在定义指针变量时可以赋给初值:int *p=&a[0];它等效于:int *p;p=&a[0];当然定义时也可以写成:int 数组定义为int a[3][2]={1,2,3,4,5,6,},值为6的数组元素是a[2][1] 为什么 7. 如果有定义:int a[10],*p=&a[3]; 则p[6]代表数组a的哪个元素? 若有以下定义,则对a数组元素的正确引用是_________.int a[5],*p=a; a)*&a[5] b)a+2 c)*(p+5) d)*(a+2)若有以下定义,则对a数组元素的正确引用是_________.int a[5],*p=a;a)*&a[5] b)a+2 c)*(p+5) d)*(a+2) 定义一个数组int a[5],请问这个数组占用了多少个字节?为什么? 若有定义int a[5],*p=a;则正确引用数组元素的是 a *&a[5] b *a+2 c若有定义int a[5],*p=a;则正确引用数组元素的是 a *&a[5] b *a+2 c *(p+5) d*(a+2) 13.若有定义:int x[10],*p=x;,则*(p+5)表示( ).A.数组元素x[5]的地址 B.数组元素a[5]的值 C.数 数组a与数组b对应元素相加放入c数组中,输入c数组#includestdio.hvoid fun(int*f,int*p,int*q){for(int i=0;i 数组定义(25)下列选项中,能正确定义数组的语句是A)int num[0..2008];B)int num[];C)int N=2008;int num[N];D)#define N 2008int num[N];.答案是D为什么C不可以? 下列数组定义错误的是 A.int x=5,a[x]; B.int aa[1]; C.int aa[2][3]; D.int a['a']; 若有定义:int a[5],*p=a;则不能正确表示数组元素a[i]的是 A.*(a+i) B.*(p+i) C.p[i] D.*p[i]