c语言中函数参数须是指针 c语言函数形参是指针

C语言中函数实参变量用指针时, 形参变量也必须用指针? 判断对错 请举例说明, 详细点, 谢谢了

错了。书上原文是尽量

创新互联建站专注于企业成都全网营销推广、网站重做改版、沈北新网站定制设计、自适应品牌网站建设、html5商城网站定制开发、集团公司官网建设、外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为沈北新等各大城市提供网站开发制作服务。

指针可以用数组来接收

不信你运行下以下代码

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

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

C语言:从调用函数来看,函数传递的是数组,所以函数的形参应为指针,为什么是这样的?谢谢

函数传递的是数组的首地址,即a[0]的地址,而不是把整个地址都传过去,因为有首地址,只要往下寻找就能遍历整个数组了。而指针就可以指向数组首地址~

c语言中函数名就是一个指针吗

是的。函数指针就是函数的指针,它是一个指针,指向一个函数。这正如用指针变量可指向整型变量、字符型、数组一样,这里是指向函数。

例:

A) char * (*fun1)(char * p1,char * p2);

B) char * *fun2(char * p1,char * p2);

表达式相比,唯一不同的就是函数的返回值类型为char**,是个二级指针。

C) char * fun3(char * p1,char * p2);

fun3是函数名,p1,p2是参数,其类型为char *型,函数的返回值为char *类型。

扩展资料

函数指针使用的例子

#include stdio.h

#include string.h

char * fun(char * p1,char * p2)

{

int i = 0;

i = strcmp(p1,p2);

if (0 == i)

{

return p1;

}

else

{

return p2;

}

}

int main()

{

char * (*pf)(char * p1,char * p2);

pf = fun;

(*pf) ("aa","bb");

return 0;

}


分享文章:c语言中函数参数须是指针 c语言函数形参是指针
标题URL:http://hbruida.cn/article/ddjddjp.html