错,指针变量既可以作为函数的形参,也可以作函数的实参.
当数组名作函数的参数时,传递到是数组的起始地址,形参是用来接受从实参传递过来的实参数组的地址的.所以呢,形参应该是一个地址变量(只有指针才能存放地址).
数组名就是数组的首地址,实参向形参传递数组名实际上就是传送数组的地址,形参得到该地址后也指向同一数组.这就好像同一件物品有两个彼此不同的名称一样.同样,指针变量的值也是地址,数组指针变量的值即为数组的首地址,当然也可以作为函数的参数使用.
指针作为实参,指针作为形参:
扩展资料:
在c语言中实参和形参之间的数据传输是单向的"值传递"方式,也就是实参可以影响形参,而形参不能影响实参.指针变量作为参数也不例外,但是可以改变实参指针变量所指向的变量的值.
指针实质是一个内存地址,这个内存地址就是指针的指向地址,这个地址及其以后的地址中的内容就是我们说的指针指向的内容.函数在传递参数时传递的一定是形参.
指针可以作实参.但你那样写是错误的,因为int
*a=NULL;的意思是指针a不可作右值使用,而后面的A(a);恰恰是把a当右值使用了.这样写就可以,如:int
x,*a=x;A(a);或int
y[10],*a=y;A(a);等等......
一般变量作为形参,是不能改变实参值的哦,要返回数据就用return;
指针指向真实的地址,不重新分配内存,所以调用函数后,如果函数里改变了指针指向的值,那这个数就真的变了.
调用就是用函数名,还要传送相应的调用参数.
没错是你的运气好,这样的情况下,程序崩溃几乎是必然的.
不要使用这样的做法.
以上就是土嘎嘎小编为大家整理的c语言指针变量做函数实参相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!