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