c语言函数传参数加在前是什么意思

2020-11-23 19:38:02 字数 3673 阅读 3434

1楼:幻形术

c语言不能在函数参数前加&,能加&的是c++语言。

在c++语言里,类型后加&表示引用,如

int a;

int & b = a;

表示b引用a,b实际上就是a的别名。修改b的值也会导致a的值被修改。

函数传参时,加&表示把实参直接传递给函数,而不加&表示是传拷贝。

传引用:将实参直接传给形参,对于复杂点的较大的结构体或类类型,可以省去效率低的拷贝过程,但如果传的是非const引用,那么在函数内部对形参的修改将会导致实参也会被修改。

传值:将实参拷贝一份传给形参,因此对于传递大点的数据结构时效率相对较低,对形参的修改不会影响外部实参。

c语言中没有引用的概念,都是以指针处理。

在c语言里向函数传递的是“&+参数”是什么意思??

2楼:匿名用户

是引用,c++中的概念,int a;int &b=a;这就声明了b是a的引用,经过这样的声明后使用a或b的作用相同,都代表同一变量。对变量声明一个引用,并不另开辟内存单元。函数参数传递有两种情况,有一般的将变量名作为参数,这时传递给形参的是变量的值,在执行函数的时候,形参的值发生的变化并不传递给实参。

传递变量的指针,使形参得到一个变量的地址,这时形参指针变量指向实参变量单元。引进引用后,函数参数的第三种传递方式就是传送变量的别名。 代替地址的传递,更加简单

3楼:

c语言里没有"&+参数",只有"&参数"——这里的参数是指变量名或常量。有两种情况:

当"&参数"前面还有参数(变量或常量)时,&是“按位与"的意思,即将&前后两个数据的二进制位对应进行"与"操作,比如3&4就是011&100=0。

当"&参数"前面没有参数时&是单目运算符,是取&后面变量的地址的意思,这时&后面的参数必须是能够取地址的目标,否则出错。比如char a,*p=&a,*q="fjks";正确,而若int *p=&3;则错误,因为立即数常量3没有地址。

4楼:匿名用户

一个类型前面加&就是指取其地址

不过像您这个例子的话,我个人感觉也是*sqlist.如果没有特殊情况的话.

c++在定义函数时,在传递的参数后面加上“&”是什么意思

5楼:匿名用户

没有这个形式,写反了,应该是:

bool start(char& strr) {}这是说,函数的形参是你传递的实参的一个别名(引用)。

什么叫别名呢?那就是一损俱损,一荣俱荣,完全可以当作同一个东西对待。

说白了,函数里对引用参数的改变会影响到调用这个函数的程序中实参的值。

6楼:

引用,也就是直接用该变量,不生成副本

没有&的话,就是拷备一个副本,然后再用,怎么改变也不会影响原来的变量

bool start(char &strr)

7楼:沃聪接侠骞

函数参数传递顺序,有stdcall

cpascal

fast

this

等标准,并不是c和c++定义的参数传递顺序,具体你可以看一下这些调用的区别

c语言函数前加上"!"是什么意思

8楼:匿名用户

有的函数返回一个数值(0或1),在函数前加!也是取反的意思,即将返回值取其否定意义 如 int fun() 在main函数中的条件语句中如 if(!fun())即将返回的0变为了1;

9楼:匿名用户

总之就是否定的意思,函数isalpha会返回一个值,如果返回1表示真,那么叹号一下就变成假了;如果返回0表示假,那么叹号一下就变成真了,就这个意思;它的实质都是对变量进行否定,并不是否定函数

10楼:匿名用户

uchar temp1,temp2;

temp1 != temp2;

表示temp1不等于temp2."!"就是不等于符号

c语言中函数调用***x时参数太少是什么意思?

11楼:匿名用户

就是说主函数调用自定义函数时,传递的参数数量要一致。比如:

void fun()

main()

再比如:

void fun(int a,int b)main()

c语言函数返回值前加&是什么意思?

12楼:匿名用户

这是“别名”或者说是“引用”运算符。

详情专可参属考http://blog.csdn.***/zhongguoren666/article/details/8523458

c语言函数参数前面加“\”是什么意思?

13楼:匿名用户

这个是连接符,一行写不下要写两行,连接上下两行

14楼:匿名用户

应该这样的

i2c_init(i2c_speed, i2c1_slave_address7, i2c_dutycycle_2,\

i2c_ack_curr, i2c_addmode_7bit, clk_getclockfreq()/1000000);

c语言的数据结构,为啥有的形参前加&而有的却不加&?这是为什么?希望大神帮帮忙啊

15楼:金色潜鸟

c++ 中, 形参前加& 表示 “引用”。

c 语言没有引用的概念。 形参前不加 &。

c 语言 函数调用用 时 填写 的 实参,可能出现前面有 &号,这个&表示求地址运算。

当 形参 为指针时,实参需用指针 或 变量的地址。

例如:void fun(int *a, int *b);

void fun2(int a, int b);

int x=3,y=4;

函数调用:

fun(&x, &y); // 这里,对应形参为指针的,要用 &x, &y,即 地址形式。

而 fun2(x,y); // 用变量名你的例子里,实参 用 &l 或 l, 取决于形参类型。

c语言函数调用参数传递的是什么

16楼:匿名用户

c语言传递的是值而不是地址,这一点从vb转过来的程序员一定要注意。否则不经意间就会犯错误。另外下层函数修改上层函数变量不是一种好习惯,容易引发错误。

c语言中函数可以返回一个函数值,如果你需要返回多个函数值可以用下面的形式

fun(int *a, int *b)

main()

如果按vb的习惯,

fun(int a, int b)

main()

是错误的,main中的a,b和fun中的a,b完全是两码事,结果就是调运fun没有任何效果。

17楼:

分两种,一种是按值传递,一种是按地址传递,

按值传递就是在子函数中开辟出一个临时内存空间,将传递的数值保存在这个空间中,当子函数结束后,这个内存空间就会释放了!

按地址传递则是把主函数开辟的某个内存空间首地址传递给子函数,子函数可以直接读写主函数上这段内存空间,当子函数结束后,这部分空间不会被释放,主函数将继续使用这段空间!

C语言函数前面加个指针是什么意思

1楼 匿名用户 表示返回值类型为指针。 char strset int n 调用该函数时,返回值就是s字符串的指针。 2楼 匿名用户 举个例啊 怎么写的 3楼 缑雅静刘佳 举个例子 如果还不懂的话 我也没有办法了 把你家的房子比作一个变量的话,那么你们家房子的门牌号就能找到你们家所以门牌号 就相当于...

c语言c中间加数字是什么意思,C语言%c中间加数字是什么意思

1楼 灰灰不吃羊 限制输出宽度, 2c,就是输出的宽度为2, c省略了1,c的输出格式控制会有详细的介绍。 c语言里 f中间加数字是什么意思 2楼 匿名用户 f是用于格式化输入输出函数,对应类型为float的格式字符。加数字的情况仅适用于输出函数,比如printf。 其形式为 printf a bf...

装C是什么意思,C语言/*……*/是什么意思

1楼 神丶雨祭丨 装c 装。b 只不过好听一点不想爆粗口 希望采纳,你的支持是我们的动力! 2楼 安安静静活几年 就是比装逼 b 更厉害的当时是装c了 c语言 是什么意思 3楼 安徽电信网上营业厅 是c语言注释的起始标识。 在c语言中,可以使用 作为注释文字的起始和结束标识,在 和 中间的文字,将不...