c语言函数形参是指针 c语言指针形参和实参

C语言函数里的参数是指针的问题

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

万载ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:13518219792(备注:SSL证书合作)期待与您的合作!

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

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

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

c语言函数的形参为指针变量时,对应的实参可以是数组名。怎么理解呀

举例:

void f(int *p)

{

}

int arr[]={1,2,3};

因为函数f的形参是一个类型为int的指针变量,所以调用f时,可以将数组名arr作为实参传给形参p。即可以这样调用:f(arr);

关于c语言 当实参是数组名 形参是指针变量时

在C语言,数组无论作为参数还是返回值,都是以指针形式返回或者传递的。在数组中,数组名字代表的是数组第1个元素的地址。比如如下数组。

int

a[10]

=

{1,2,3,4,5,6};

数组名a,实际上相当于a[0]。所以,当实参是数组名,形参是指针变量时,只要保证数据类型一致即可传递。如下面的示例代码:

#include stdio.h

void f(int *p, int size) {

for (int inx=0; inx!=size; ++inx) printf("%d\t",p[inx]);

printf("\n");

}

int main()

{

int a[4] = {1,2,3,4};

f(a,4);

return 0;

}


网页标题:c语言函数形参是指针 c语言指针形参和实参
分享路径:http://pwwzsj.com/article/ddegsco.html