为您找到"

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

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

定义int a[]={1,2,3,4,5};为什么int **p=&a;赋值出错?

数组名a是指向数组a[0]的指针,其类型为int *,因此a与&a[0]相当。&a是指向所定义数组的指针,如题目中,&a的类型为int (*)[5]。因此int **p=&a初始化时会报出不兼容的错误。可以用一下方式来进行初始化:typedef int (*array)[5];array p = &a;数组名 a不 是数组首元素,是首...

int *p,a[]={1,2,3,4,5}; p=a;(这里什么意思?)

int *p; //定义一个指针p a[]={1,2,3,4,5}; //定义一个数组,有五个元素,初始化为1 2 3 4 5 p=a; //把数组首元的地址赋给p,即*p=a[0]=1;因为在C语言中数组的本质就是指向数组首地址的指针+一串连续的存储空间 将A的地址赋给P,那么P就指向了元素{1,2,3,4,5}

int a[] = {1,2,3,4,5,}; int *p = a; int *q = &a[5]; printf("%d...

看看我下面的演示,你就知道那只是个巧合而已(5并不是数组里面的数字哦,两个地址差,16进制地址相减结果是0x14,换算成十进制就是20,int每个占4byte,所以20/4=5):int

int a[5]={ 1,2,3,4,5

(a+1)的值是2 int a[5]={ 1,2,3,4,5};int *p;p = a;p=&a[0] <==> p=a(p+1) = *(a+1)= 2

int a[10]; a={1,2,3,4,5}; 和int *p; p={1,2,3,4,5};为什么不对_百度...

初值表只可以用于数组,不可以用于指针,而且只可以用于数组初始化时,不可以用于二次赋值。int a[2] = {1, 2}; //正确int *p = {1, 2}; //错误,初值表不可用于指针int a[2];a = {1, 2}; //错误,初值表只能用于数组定义时的初始化 记住...

定义一个整型数组,int a[]=(1,2,3,4,5,6,7,8,9,10)利用指针输出全部数 ...

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

...int a[]={1,2,3,4,5},*p;p=a //把数组元素的首地址给了p_百度知 ...

看下面的代码 include <iostream>using namespace std;void fun1(int *p){*p=5;}void fun2(int *p){int b=6;p=&b;}int main(){ int a=10;fun1(&a);cout<<a<<endl;fun2(&a);cout<<a<<endl;return 0;}把上面2个函数的区别理解了,你就知道上面问题的答案了 调用...

main(){int a[]={1,2,3,4,5,6,7,8,9,0};*p;for(p=a;p<a+10;p++)print...

} 你这个i 很莫名其妙啊 上面的程序等同于下面这个程序 int a[]={1,2,3,4,5,6,7,8,9,0};int i;for(i=0;i<10;i++){ printf("%d",a[i]);} for (p=a ;p<a+10;p++)p=a这个意思是 首先 指针p 指向a的首地址 意思是 *p带代替 a[0] ;p++ 比如 a[]={ 1, 2...

若int a[]={1,2,3,4,5},*p=a;求*p++,*++p,++*p的值

值为2.p=a;语句之后,p指向的是数组a的第0个元素,也就是a[0];(*++p)++表达式:根据运算符优先级,先计算括号内内容,++p,首先自增p,此时p指向第1个元素,即指向a[1];然后通过*得到a[1];后置++不立即改变a[1]的值(值为2),而在此表达式之后a[1]值为3。求采纳为满意回答。
1 2 3 4 5 6 7 8 9

相关搜索