77问答网
所有问题
请问在C中函数中的参数(该参数为指针)前加&是为什么,按道理已经是指针了不是应该传的就是地址吗?
如题所述
举报该问题
推荐答案 2011-12-23
参数中&表示“引用”就是参数传址,这样“形参”、“实参”就能同步变化,
这是C++新增的功能,而C是没有的,只能靠指针间接实现。
你说的“已经是指针”,是指所“指向变量”的地址,而不是“参数指针自已”的地址,
如果你没有 & 实现传址,你可以改变所“指向变量”的值,而改变
不了这个“指针自已”的值,如果是C的话,要达同样的效果,需要
定义成“指针的指针”,才能达到。
void test (int * & x) // C++
void test (int * * x) // C, 你所考虑的
两者这才相当。
上面说的,不明你明白没有。的确会让初学者搞不清的
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://77.wendadaohang.com/zd/8INpqIW3p.html
其他回答
第1个回答 2011-12-23
参数加&时是表示传入的值是指针的地址,而不是指针指向的地址。
比如定义一个char类型指针*p,将*p指向一个char变量sc。那么*p的值是就是sc的地址。
而&p是指针变量p本身的地址。
第2个回答 2011-12-23
指针也是变量也占存储空间,也有地址!
第3个回答 2011-12-23
取地址符号&
就是比如指针*p,p是指针的地址,当&p的时候,是有**q=*p,&p就是q了,
又有像*this指针,this == &other ,const string &other
又有像*p , p==&a , int a;又像*********************p,
引用也用&符号
相似回答
编程中 “
参数
做输出用”是
什么
意思?举例说明下
答:
PHP中, 对
参数前加 &
也可以作为引用传递;JavaScript
函数参数为
对象/数组时也可以作为形参;
C中,
通常是用指针来直接处理多个出参问题;
#include<stdio.h> void main
()
{ int x=1,y; y=++x*++x; printf("%d...
答:
8. 指针运算符:用于取内容(*)和取地址
(&)
二种运算。9. 求字节数运算符:用于计算数据类型所占的字节数(sizeof)。10. 特殊运算符:有
括号(
),下标[],成员(→,.)等几种。C语言的运算符可分为以下几类:1. 算术运算符:用于各类数值运算。包括加(+)、减(-)、乘(*)、除(/)、求余(...
c
语言中scanf有
什么
作用?
答:
C语言中scanf是标准库
函数,
主要用来接收用户输入的数据。scanf与printf函数一样,都被定义在头文件stdio.h里,因此在使用scanf函数时要加上#include <stdio.h>。它是格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中。函数格式:int scanf(char *format, args, ...);功 能...
如何学好C语言?
答:
我相信,只要你理解了
指针,
C语言便不再神秘。 如果你已经啃完了一本C语言教材,想要更进一步,那么有两本书你一定要看。首先是《C Traps and Pitfalls》(中译名《C陷井与缺陷》),很薄的一本小册子,内容非常非常地有趣。要注意一点,这本书是二十多年前写成的,里面提到的很多C语言的缺陷都已被改进,不过能够了解...
求助:
C
语言二维数组
指针
问题
答:
而对p来说就不一样(p不是指向数组
的指针),
*p真的是对那个地址的内存取值。所以即使printf("%d", *p); 提示说类型不合适,但是p存的地址值就是a[0][0]的地址值,又有%d限制读取数据的长度为int类型,所以可以成功间接取值(但会有警告哦)。2.用int *p=a; 就更不对了,二者类型差别更大了...
如何学好C语言
答:
学习C语言就是要经过几个反复,才能前后贯穿,积累应该掌握的C知识。 那么,我们如何学好《C程序设计》呢? 一.学好C语言的运算符和运算顺序 这是学好《C程序设计》的基础,C语言的运算非常灵活,功能十分丰富,运算种类远多于其它程序设计语言。在表达式方面较其它程序语言更为简洁,如自加、自减、逗号运算和三目运算...
大学生
为什么
叫大学生?
答:
大学生是指正在接受基础高等教育和专业高等教育还未毕业或受过高等教育已经毕业走进社会的一群人。大学生,即在高等学校注册入学并接受教育直至毕业前的群体统称,包括全日制和在职业余学习两类,通常为在校生,不含自考生。各类高等学校毕业生一般称大学学历。入学方式通常有多种,其中普通高中毕业生以普通高等...
大家正在搜
C 引用与引用作为函数的参数
C中函数指针
什么是函数C语言
C程序的基本组成单位是函数
函数C
C一D函数
C类函数
C 函数重载 详解
成本函数C
相关问题
C语言函数前面加个指针是什么意思?
C语言 指针做函数参数 的优点
能否用 void** 指针作为参数, 使函数按引用接受一般指...
C语言指针变量的赋值和做函数的参数
c语言函数声明中将函数指针参数设置为NULL的默认值
既然在c语言中数组名称代表的是地址,那为什么传递给用指针作为...
请问c语言中形参为指针是为设么实参有时加&有时不加,求高手解...
C语言中指针作为函数参数的问题。