函数定义和函数调用是两个概念,函数定义 为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证书合作)期待与您的合作!
立即数不能转换成指针,因为它不在内存中。(int*)2表示从地址0x02开始的int型的地址空间。如果你的函数形参是指针而实参却需要传递立即数,说明这个函数编的是有问题的。
如果你一定要传递,可以用一个中间变量存放立即数,然后传递该变量的地址。
举例:
void f(int *p)
{
}
int arr[]={1,2,3};
因为函数f的形参是一个类型为int的指针变量,所以调用f时,可以将数组名arr作为实参传给形参p。即可以这样调用:f(arr);
在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语言指针形参和实参
浏览地址:https://www.cdcxhl.com/article20/ddegsco.html
成都网站建设公司_创新互联,为您提供企业网站制作、网站导航、虚拟主机、网站内链、自适应网站、商城网站
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联