c语言指针当函数变量 c语言指针变量是什么意思

c语言 指针作为函数变量怎么用?

#include stdio.h

网站建设哪家好,找成都创新互联!专注于网页设计、网站建设、微信开发、成都小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了东营区免费建站欢迎大家使用!

void exe(int** p, int** q);

void main()

{

int *p, *q, a, b;

scanf("%d %d", a, b);

p = a;

q = b;

if (a b)

{

  exe(p, q);

}

printf("a=%d,b=%d\n", a, b);

printf("max=%d,min=%d\n", *p, *q);

}

void exe(int** p, int** q)

{

int* t;

t = *p;

*p = *q;

*q = t;

}

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语言中指针变量作为函数参数和一般变量作为函数参数的区别

一般变量作为形参,是不能改变实参值的哦,要返回数据就用return;

指针指向真实的地址,不重新分配内存,所以调用函数后,如果函数里改变了指针指向的值,那这个数就真的变了。

调用就是用函数名,还要传送相应的调用参数。


本文名称:c语言指针当函数变量 c语言指针变量是什么意思
URL标题:http://hbruida.cn/article/doeiops.html