c语言形参是指针的函数 形参为指针变量的函数调用

C语言中当形参是指针,实参是什么?当实参是指针,形参是什么?为什么?第一个问题:
形参是指针,实参就应该是对应数据类型的地址 。
例如:
swap(int *x,int *y)
{
int t ;
t = *x;
*x = *y;
*y = t;
}
int main()
{
int a = 2,b=6;
swap(a,b);
//因为swap函数的形参是int类型的指针,所以传入的实参应该是int类型变量的地址
return 0;
}
第二个问题:
当实参是指针的时候,形参应该是什么?
其实很简单 , 你只要把
第一问列出来①实参:地址②形参 :指针
一一对应出来①实参:指针②形参:指针的指针
因为你要在局部函数中改变实参,就需要传递它的地址 , 指针也是如此,把它类比为int型变量就好了 。
个人理解,希望能帮到你,如有不对,欢迎指正
c语言函数的形参为指针变量时,对应的实参可以是数组名 。怎么理解呀举例c语言形参是指针的函数:
【c语言形参是指针的函数 形参为指针变量的函数调用】void f(int *p)
{
}
int arr[]={1,2,3};
因为函数f的形参是一个类型为int的指针变量c语言形参是指针的函数 , 所以调用f时c语言形参是指针的函数 , 可以将数组名arr作为实参传给形参p 。即可以这样调用c语言形参是指针的函数:f(arr);
C语言中,函数形参为指针,调用时的实参为立即数 , 应该怎么转化类型?立即数不能转换成指针,因为它不在内存中 。(int*)2表示从地址0x02开始的int型的地址空间 。如果你的函数形参是指针而实参却需要传递立即数 , 说明这个函数编的是有问题的 。
如果你一定要传递,可以用一个中间变量存放立即数,然后传递该变量的地址 。
C语言函数里的参数是指针的问题函数定义和函数调用是两个概念c语言形参是指针的函数,函数定义 为f(int *arr)c语言形参是指针的函数,表示参数是一个整型指针c语言形参是指针的函数 , 因此使用该函数时要传递一个地址,如变量int a=0; 调用函数f传递a的地址时需要写为f(a)c语言形参是指针的函数;而对于数组来说 , 如int b[]=[1,2,3], b本身就是数组首元素的地址,因此调用函数f传递数组首地址需要写为f(b) 。
关于c语言形参是指针的函数和形参为指针变量的函数调用的介绍到此就结束了 , 不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读