c语言函数形参列表是指针 c语言函数参数指针

C语言中,函数形参为指针,调用时的实参为立即数,应该怎么转化类型?

立即数不能转换成指针,因为它不在内存中。(int*)2表示从地址0x02开始的int型的地址空间。如果你的函数形参是指针而实参却需要传递立即数,说明这个函数编的是有问题的。

10多年的温岭网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。网络营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整温岭建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联公司从事“温岭网站设计”,“温岭网站推广”以来,每个客户项目都认真落实执行。

如果你一定要传递,可以用一个中间变量存放立即数,然后传递该变量的地址。

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语言函数里的参数是指针的问题

函数定义和函数调用是两个概念,函数定义 为f(int *arr),表示参数是一个整型指针,因此使用该函数时要传递一个地址,如变量int a=0; 调用函数f传递a的地址时需要写为f(a);而对于数组来说,如int b[]=[1,2,3], b本身就是数组首元素的地址,因此调用函数f传递数组首地址需要写为f(b)。


网页名称:c语言函数形参列表是指针 c语言函数参数指针
文章出自:http://pwwzsj.com/article/ddjegpo.html