求C语言高手解释形参sqlist *L sqlist &L的区别

作者&投稿:仲娄 (若有异议请与网页底部的电邮联系)
求C语言高手解释形参sqlist *L sqlist &L的区别~

一个是指针,一个是引用,两者最大的却别就是一个分配内存,另一个不分配,指针要分配内存存放变量的地址,引用就是变量的一个别名,就和数据库中的同义词一样。

一个是指针,一个是引用,两者最大的却别就是一个分配内存,另一个不分配,指针要分配内存存放变量的地址,引用就是变量的一个别名,就和数据库中的同义词一样。

这个定义应该是C++里面的引用的定义。

因为C里面&只是一个取地址的符号。而且C里面不会在生命的时候去去一个变量的地址
sqlist *L 是声明一个指针
sqlist &L 是声明一个引用
指针与引用的区别在于
(1)引用总是指向一个对象,没有所谓的 null reference .所有当有可能指向一个对象也由可能不指向对象则必须使用 指针.

由于C++ 要求 reference 总是指向一个对象所以 reference要求有初值.

String & rs = string1;

由于没有所谓的 null reference 所以所以在使用前不需要进行测试其是否有值.,而使用指针则需要测试其的有效性.

(2)指针可以被重新赋值而reference则总是指向最初或地的对象.

(3)必须使用reference的场合. Operator[] 操作符 由于该操作符很特别地必须返回 [能够被当做assignment 赋值对象] 的东西,所以需要给他返回一个 reference.

(4)其实引用在函数的参数中使用很经常.

void Get***(const int& a) //这样使用了引用有可以保证不修改被引用的值

{

}

  1. sqlist 是一个结构体

  2. sqlist *L 表示定义了一个指向sqlist类型的指针

  3. &L 表示L的指针

  4. L->num[]这儿的L定义为:sqlist *L,而L.num[]这儿的L定义为struct sqlist L。

  5. 当L定义为sqlist *L时,L->num[]等同于(*L).num[],只是前者书写更方便



一个是指针,一个是引用,两者最大的却别就是一个分配内存,另一个不分配,指针要分配内存存放变量的地址,引用就是变量的一个别名,就和数据库中的同义词一样。


求C语言高手解释形参sqlist *L sqlist &L的区别
这个定义应该是C++里面的引用的定义。因为C里面&只是一个取地址的符号。而且C里面不会在生命的时候去去一个变量的地址 sqlist *L 是声明一个指针 sqlist &L 是声明一个引用 指针与引用的区别在于 (1)引用总是指向一个对象,没有所谓的 null reference .所有当有可能指向一个对象也由可能不指向对象...

C语言形参和实参的区别
在函数定义中体现的参数,就叫形参,如:int func( int a, int b ) \/\/这里的a,b就是形参{ return a+b ;}在函数调用时,使用的参数就叫实参,如:int main(){ int x,y,z; x=10; y=20; z=func(x,y); \/\/在这里的x,y就是实参 printf("z=%d\\n", z ); ...

在一个C语言程序中,到底哪个是形参,哪个又是实参?
include <stdio.h> main(){ int fun(int x); \/\/对函数fun声明 int m=2;printf("%d",fun(m)); \/\/ printf语句中调用了fun函数,这里面的m 为实参;} int fun(int x) \/\/ 定义fun函数功能。这里面的 x为形参 {x=x+1;return (x);}} 形参和实参的区别:在定义函数时,...

c语言中形参和实参的区别?
有以下区别:1、主体不同:实参在调用有参函数时,函数名后面括号中的参数为“实际参数”。形参不是实际存在变量,又称虚拟变量。2、目的不同:实参可以是常量、变量或表达式,无论实参是何种类型的量,在进行函数调用时,都必须具有确定的值,以便把这些值传送给形参。需要注意当形参和实参不是指针类型...

C语言中,形参是实参的副本,这句话怎么理解。。。能举个例子最好_百度知...
int main(){ int a=1;int b=2;printf("before :a=%d b=%d\\n",a,b);\/\/交换之前a,b的值 change(a,b); \/\/交换过程 printf("after :a=%d b=%d\\n",a,b);\/*交换后a,b的值,没有变换,没错,这意味着形式参数无法修改实际参数的值,只是起了一个备份的作用,就是把实参的值...

C语言中的形参和实参的定义是什么?有什么区别
函数定义时候写的参数就是形参 调用函数,传递进取的参数就是实参 举个例子吧,假设你定义一个 我要吃糖的函数:void 我要吃糖(string 某种糖)这个就是形参了,因为这里只是个形式,并没有指明是给你什么糖吃,所以是形参 我要吃糖(棉花糖)这个就是实参了,这样你就吃到棉花糖(实参)了 ...

在c语言中形参与实参是如何定义的
在C语言中,形参即为形式参数。它在整个函数编译的时候,没有实际的数据赋于它,仅仅作于定义某个函数或者函数名。而实参既为实际参数。顾名思义,在函数中,有一个特定的数据赋值给它,可以作于在函数中进行运算。比如:void main(){ int a=1,b;b=function(a); \/\/a作于在函数中进行运算,...

请大家帮忙看一个C语言函数定义形参的问题
不会出问题,你定义函数的参数名字,只不过是为了你自己好记忆,对于编译器来说根本无所谓,最后都变成了地址,而这两个参数的名字虽然一样,但是最后编译出来的结果肯定不一样。而且计算机也会知道你要将PageWrite的第一个参数当做参数传给WriteCMD并调用它。

c语言中的实参与形参
要想改形参里的值,必须采用传地址,即:将实参的地址传给形参,使形参和实参指向同一个值,这样改变形参,就等于改变了实参正如:include<stdio.h> void point(char*& p) {p+=3;} void main(){ char b[4]={'a','b','c','d'}, *p=b;point(p);printf("%c\\n", *p);} )...

C语言中的实参和形参
在主函数里的是实参,在子函数里的是形参。因为在真正执行的时候是把实参传递给形参来执行的,所以实参才是实际的参数。比如:int jjj(int a, int b)void main(){ int x, int y;jjj(x, y);} a、b是形参,x和y是实参。

大东区18331317210: 求C语言高手解释形参sqlist *L sqlist &L的区别 -
畅泪聚乙: 这个定义应该是C++里面的引用的定义.因为C里面&只是一个取地址的符号.而且C里面不会在生命的时候去去一个变量的地址 sqlist *L 是声明一个指针 sqlist &L 是声明一个引用 指针与引用的区别在于 (1)引用总是指向一个对象,没有所谓...

大东区18331317210: C语言,形参和实参到底是怎么一回事 -
畅泪聚乙: 形参是指一个可以复制的参数字母,是参是指带有具体指的,比如 void fun(char c)//这里的C就是形参;d=4; fun(d) ;这里的d就是实参.

大东区18331317210: 在c语言中形参与实参是如何定义的 -
畅泪聚乙: 在C语言中,形参即为形式参数.它在整个函数编译的时候,没有实际的数据赋于它,仅仅作于定义某个函数或者函数名.而实参既为实际参数.顾名思义,在函数中,有一个特定的数据赋值给它,可以作于在函数中进行运算.比如:void main(){int a=1,b;b=function(a); //a作于在函数中进行运算,是实参}int function(int c) //c作于定义function函数,是形参{}

大东区18331317210: c语言函数中的实参和形参是什么意思啊我老是看不懂 谢谢了 -
畅泪聚乙: 顾名思义,形参只是为了塑造一个函数的外形.比如max(x,y),这里x和y我们叫它形参.而我们有两个数a=10,b=8,把a和b赋值给max函数的话,就可以比较a和b的最大值,那么a,b在这里就叫做实参,是实际输入的值.你自己复制的不是很清楚吗,解释的很好.

大东区18331317210: c语言中形参和实参是什么意思? -
畅泪聚乙: 函数声明中给出的函数参数是形参(形式参数,formal parameter)函数调用表达式中传递的函数参数是实参(实际参数,actual argument)

大东区18331317210: C语言中的实参和形参是什么?麻烦帮我解释一下.谢谢 -
畅泪聚乙: 在c语言函数调用的时候,可以给函数传递参数,实参就是传递给函数的实际参数,形参就是接收传递过来的参数的变量啊!

大东区18331317210: c语言里面的实参和形参分别是什么意思? -
畅泪聚乙: 不知道函数调用原理的话,很难说得清楚的.粗略的说在C中函数其实是分成三个部分,分别是声明、实现和使用.声明就是告诉C有这么个函数,实现就是这个函数的完整代码,使用则是调用这个函数帮你做运算或者是做事情.为了让函数能...

大东区18331317210: 大一C语言求大神给我通俗地讲一下形参和实参各是什么意思,有啥区别. -
畅泪聚乙: int add(int m, int n); 形式参数,是变量,m, n 是 add()的形参.add(1,2); 实际参数,是函数调用提供的值, 1, 2 是add()的实参.

大东区18331317210: c语言中什么叫形参,什么叫实参?来权威解释,我的理解就是形式参数和实际参数.在被调用的函数里的是形 -
畅泪聚乙: 可以这样理解 形参出现在函数定义中,在整个函数体内都可以使用, 离开该函数则不能使用.实参出现在主调函数中,进入被调函数后,实参变量也不能使用. 形参和实参的功能是作数据传送.发生函数调用时, 主调函数把实参的值传送给被...

大东区18331317210: C语言中什么是形参,什么是实参? -
畅泪聚乙: 例如:你自己定义一个函数 int max(int a,int b){... } 在这里a,b就是形参,接下来你会调用max函数,如: void main() { int c,int d; ..... max(c,d); } 这里c d就是实参 所谓形参就是在函数定义体中的参数 所谓实参就是在调用函数时实际传进函数的参数

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