语句 int a,*p; 定义可存放变量p地址的变量pp的语句是____[1]____ 。 一个变量的引用变量名是该变量的____

作者&投稿:闽邢 (若有异议请与网页底部的电邮联系)
若有定义和语句: int **pp,*p,a=10,b=20; pp=&p;p=&a;p=&b;printf("%d,%d\n",*p,**pp);~

应为指针p最终指向的是b的地址所以 *p输出的是b的值

**pp是指针的指针 pp=&p 干的事情是将p的地址指向pp,此时*pp 相当于 p 所以 **pp 可以看成是
*(*pp) 即* p所以输出的是b的值

D、20,20

[1]: int **ptr = &p;
[2]:别名


湖滨区14742116282: C语言中int * p;的含义 -
柴复双黄: 在c语言中 * 是指针运算符. *p表示指针变量p所指向的变量的值.即p中存储的内存地址 所存储的变量的值. 另外 容易混淆的地方是; 定义一个指针变量p时,如 int *p; 表示定义了一个指向整型变量的指针变量p. 望采纳.

湖滨区14742116282: c语言 语句“int (*p)();”的含义是 - ----. -
柴复双黄: 选d.

湖滨区14742116282: C语言 int a,*p;*p=a;这个语句对吗? -
柴复双黄: 楼主 一定要 区分 声明、定义、初始化 三者之间的区别哦 int a, *p; 这个叫声明,表示a是一个int类型,p是一个指向int类型的指针 还没有定义哦 *p=a,这个叫赋值语句,但是右边的 a只是一个声明,而没有定义,因此是没有用的,这个用法是...

湖滨区14742116282: 大一C语言题目 24、若有定义语句:int a[2][3],*p[3]; ,则以下 -
柴复双黄: 核心在于p的类型. 定义等效于 int *p[3]; 这里p是一个数组,包含三个元素,每个元素类型为int * 所以 A p为数组名, 不可以赋值. B p[0]为int*, 而a为二维数组名,等效于int **, 类型不匹配. C a[1][2]为a的一个元素,类型是int,所以&a[1][2]是int*, 和p[0]类型相同, 所以这个赋值是合法的. D 这个没什么说的了,错的比B还离谱, int ***, 赋值给int*, 类型不匹配.

湖滨区14742116282: C语言高手请指教:"int **p"是什么意思啊 -
柴复双黄: int a; int *p = &a; int **pp = &p; 明白了吧?p 是一个普通的指针,它指向普通变量 pp 是一个指向指针的指针.

湖滨区14742116282: c语言中,int **p;的含义是?简明回答,最好有解释,谢谢 -
柴复双黄: int **p 就是 int * (*p) 显然,*p是一个指针,编译器也得给它安排4字节的内存来存储它的值,int **p就是指向这块内存的指针,它的字面值就是这块内存的首地址

湖滨区14742116282: C语言,int a[3],*p=a;能这样定义吗!*p不是代表取值吗!a应该是地址!他们为什么能等 -
柴复双黄: 在定义的时候*号代表这个是一个指针.在使用的时候,*号才代表着解引.数组的名字实际上就是一个地址,而且是第一个元素的首地址.所以*p = a;就是将数组的首地址赋给指针p.

湖滨区14742116282: 3.已有定义 int i,a[10],*p; 则正确的赋值语句是( ) -
柴复双黄: 由于指针变量P的是储存变量地址的变量...而A,C为变量的值所以错误..是选B,D么.....原谅我学的少呀....

湖滨区14742116282: c语言中int*p=a与int*p=&a有什么区别???求大侠帮忙!!! -
柴复双黄: 区别很大,第一个是把a赋给指针变量p,a变量必须存放的是指针值;第二条语句是把a变更本身的内存地址拿出来,赋值给指针变量p.

湖滨区14742116282: C语言 如果我定义了一个指针 int *p 和变量 int p, 他俩之间有什么关系吗? -
柴复双黄: int *p; int a=1; p=&a; p定义成了一个整型指针,而a定义成了一个初始值为1的整型变量. 指针是用来保存对应类型的变量的地址的,所以p=&a;的意思是用指针p来保存变量a的地址.而如果同时定义int *p;int p;会发生编译时错误,因为p重复定义了.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网