函数参数传递指针变量

Posted LC编程开发者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了函数参数传递指针变量相关的知识,希望对你有一定的参考价值。

在函数的定义中,函数的参数可以是各种变量,就包括指针变量。首先,我们来看看一个函数的定义:

void  func(char*  p);

       该函数的名称叫做func,参数定义为 char* p是个一级指针变量;那么,对该函数有如下调用:

char a = 'A';

func(&a);

       此时,把字符变量a的地址赋给func函数的指针变量p参数,如同:

char* p = &a;

那么,func函数中的指针变量p参数,就指向了字符变量a;

       程序测试代码如下:

       运行的结果如下:

       可以看到,在func()函数中,输出字符变量b的值,就是传递给func()函数的字符变量a。因为func()函数中的参数指针变量p指向字符变量a;所以,执行:

char b = *p;

       那么,*p就是对指针变量p进行降级,转换为指针变量p所指向的变量a;最终,把变量a赋给变量b。所以,输出变量b的值就是变量a的值。如同:

char b = a;             //就是把变量a的值赋给变量b;

       此时,通过传递指针,我们可以在func()函数内,得到一个指针p指向变量a。那么,我们可以通过指针变量p修改变量a的值。程序测试例子如下:

       程序运行结果如下:

       可以看到,通过指针变量p,可以修改传递给func()函数的参数a。

韦凯峰 Linux C/C++ 程序设计教程,Linux 系统编程,Openwrt 系统开发,微信:13926572996,QQ:1523520001,博客:www.mylinux.vip

以上是关于函数参数传递指针变量的主要内容,如果未能解决你的问题,请参考以下文章

使用变量与指向变量的指针作为函数的参数

退出此函数后,为什么指针变量的值没有传递给指针参数?

结构体作为函数参数值传递的问题

数组名作函数参数时,实参与形参变量之间的数据传递是?

将变量作为参数传递并获得所需的返回值与传递指针基本相同吗?

C言语指针变量作为函数参数