本文目录一览:
c语言中形参与实参;局部变量与全局变量的区别
全局变量和局部变量的区别有:有效范围不一样,内存空间不同,使用区间不同。局部变量只在本函数范围有效,在此函数以外是不能使用这些变量,全局变量的有效范围是从定义变量的位置开始到本源文件结束。
局部变量:在程序中,只在特定的过程或函数中可以访问的变量,是相对于全局变量而言的。全局变量也称为外部变量,是在函数的外部定义的,它的作用域为从变量定义处开始,到本程序文件的末尾。
作用域不同:全局变量的作用域为整个程序,而局部变量的作用域为当前函数或循环等。内存存储方式不同:全局变量存储在全局数据区中,局部变量存储在栈区。
全局变量全部存放在静态存储区,在程序开始执行时给全局变量分配存储区,程序行完毕就释放。局部变量可以和全局变量重名,但是局部变量会屏蔽全局变量。在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。
有以下区别:主体不同:实参在调用有参函数时,函数名后面括号中的参数为“实际参数”。形参不是实际存在变量,又称虚拟变量。
…中指针变量作为函数参数和一般变量作为函数参数的区别
1、一般变量作为形参,是不能改变实参值的哦,要返回数据就用return;指针指向真实的地址,不重新分配内存,所以调用函数后,如果函数里改变了指针指向的值,那这个数就真的变了。调用就是用函数名,还要传送相应的调用参数。
2、引用就是给被引用变量起别名,其实是被引用变量本身,指针就是把存放变量的地址传过去了,这两个当参数传入时,对他们的修改都会影响到变量本身。
3、指针变量是变量的一种,指针变量的值是地址(也是整数),普通变量的值是整数、实数或者其他类型。指针变量的主要作用是修改其他函数的局部变量和访问数组。
4、指针、数组作为参数,这是地址传递,指针和数组可以看成是指向一个或一片连续空间的指针(区别是:一个为变量地址,一个常量地址),它们传递的是所指数据或数据区的地址,这使得函数直接操作的就是原数据区的数据。
5、传递参数时:对于指针,&p传递的是指针的地址 p传递的是指针所指的变量的地址,也就是变量的地址。
6、结构体指针与结构体变量用作函数参数区别:(1)结构体指针作为函数参数时,调用时传递的是指向一个结构体变量的指针(即结构体变量的地址);结构体变量作为函数参数时,调用时传递的结构体变量本身。
文章来自互联网,只做分享使用。发布者:,转转请注明出处:https://www.dingdanghao.com/article/206248.html