c语言函数参数里有指针,C语言函数传递指针参数的问题

C语言用指针作函数参数

选D

怀柔网站建设公司成都创新互联公司,怀柔网站设计制作,有大型网站制作公司丰富经验。已为怀柔上1000家提供企业网站建设服务。企业网站搭建\外贸营销网站建设要多少钱,请找那个售后服务好的怀柔做网站的公司定做!

因为第一个参数是地址传递,fun(b,a);中传入a字符。*c=*c+1将c的值变为b字符。主函数的值改变。

第二个参数是值传递,所以在函数中d的值为B字符。但是并不影响主函数的值,所以主函数输出a的值是A。b的值是b。

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

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

c语言中用指针变量做函数参数有什么意义?

看你的需要了,有时不用指针作为参数达不到你要的效果,比如一个swap()函数。

int

swap(int

a,int

b)

{

int

tmp;

tmp=a;

a=b;

b=tmp;

}

如果你想调用该函数交换两个变量的值,在主函数中输出,那是不可能的。比如这样调用:

int

x=1,y=2;

swap(x,y);

printf("%d

%d",x,y);

你认为会输出2

1吗?错!还是会输出1

2的。因为传入swap()函数的只是x,y的拷贝,而不是它们自身。

如果要真正达到交换的目的,就要用指针传值。这样定义函数:

void

swap(int

*a,int

*b)

{

int

tmp;

tmp=*a;

*a=*b;

*b=tmp;

}

但是给函数传值时要注意,指针是指向地址的,所以参数要是地址,即需要给变量取地址。

int

x=1,y=2;

swap(x,y);

printf("%d

%d",x,y);

这样就是输出2

1了!

c语言中用一个函数指针作为另一个函数的参数,该怎么解决

首先需要声明函数指针的类型(下例子中的typedef int (*fpFunt)(int a,int b),再定义某个函数(下例中的Add),在其参数列表中使用该函数指针类型,同时需要定义另一函数(下例中的fpAdd,注意该函数形式要和fpFunt一致,本例子中是返回一个整数,两个整型参数)作为实参用。这里在手机上使用易历知食软件内的微C程序设计来编程,举个两个数相加的例子,代码如下图:

调用后运行结果如下图:

c语言指针的指针做函数参数

定义sort函数时使用的参数是指针,需要注意的是这个指针是指向数组的,数组的名称其实就是一个指针,所以p可以做sort的参数


文章标题:c语言函数参数里有指针,C语言函数传递指针参数的问题
转载源于:http://csdahua.cn/article/hssied.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流