正文
C语言函数形参直接加 c语言函数形参可以是数组吗
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
C语言中函数参数里面指针后面加了&?
加说明函数参数是引用类型,即形参是实参的一个别名。函数中所有使用形参的地方,就相当于在直接使用实参本身。
C语言的数据结构,为啥有的形参前加&而有的却不加&?这是为什么?希望大神帮帮忙啊
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语言函数传参数加一个&在前是什么意思
C语言不能在函数参数前加C语言函数形参直接加,能加C语言函数形参直接加的是C++语言。
在C++语言里C语言函数形参直接加,类型后加表示引用C语言函数形参直接加,如
int a;
int b = a;
表示b引用a,b实际上就是a的别名。修改b的值也会导致a的值被修改。
函数传参时,加表示把实参直接传递给函数,而不加表示是传拷贝。
传引用:将实参直接传给形参,对于复杂点的较大的结构体或类类型,可以省去效率低的拷贝过程,但如果传的是非const引用,那么在函数内部对形参的修改将会导致实参也会被修改。
传值:将实参拷贝一份传给形参,因此对于传递大点的数据结构时效率相对较低,对形参的修改不会影响外部实参。
C语言中没有引用的概念,都是以指针处理。
c语言中形参可以在本函数中直接使用吗?
可以直接使用。但是调用函数的时候要用相同类型接收。例如:
int aa = 5;
int a = pw(aa);
c语言中可不可以直接在函数首部直接给参数赋值
不明白你的意思……是不是类似于这样 int hello(char a,int i = 4,int m = 9){} ?
这样在c语言中是不可以的,这是c++的概念,默认参数,使用方法如下:以上面的hello函数为例
hello(n); 默认i=4,m=9。 hello(n,5,23); 这里在函数中i = 5,m = 23.
就是说,如果调用时给参数赋值了,就使用赋值的,如果没有,就使用默认的
需要标明一点,这种函数参数表有个规则,就是所有的默认参数都靠后,即:int hello(int a = 1,int b,int c=23){} 是错误的……而且,使用时,也不可以跳过一个默认值给后面的值赋值,如:
int hello(char a,int b= 12,char c = 'd')如果想参数b使用默认而给c赋值,那么必须是hello(a,12,c),如果跳过赋值b,即:hello(a,c);就是错的,很好理解,这样就把c赋值给参数b了,一定报错。
关于C语言函数形参直接加和c语言函数形参可以是数组吗的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。