您当前的位置:首页 > 电脑百科 > 程序开发 > 语言 > C/C++/C#

C语言指针,函数参数如何传递指针变量?

时间:2021-07-09 11:15:18  来源:  作者:峰哥linux编程学堂

函数参数传递指针变量

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

void func(char* p);

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

char a = 'A';

func(&a);

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

char* p = &a;

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

程序测试代码如下:

C语言指针,函数参数如何传递指针变量?

 

运行的结果如下:

C语言指针,函数参数如何传递指针变量?

 

可以看到,在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的值。程序测试例子如下:

C语言指针,函数参数如何传递指针变量?

 

程序运行结果如下:

C语言指针,函数参数如何传递指针变量?

 

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

总结

本章节我们学习了C语言的指针,这是一个比较重要的知识点,需要多加练习掌握。在视频教程中,作者通过代码来演示和讲解程序,更加容易理解。

所以,读者可以根据作者的教程,自己亲自敲打代码,然后,验证作者讲解的理论知识,最终,掌握C语言指针的知识点。

本章节讲解的知识点,由浅入深,一步一步地深入讲解C语言的指针知识点。所以,从第一节开始,按顺序学习下来,就可以知道:原来C语言的指针是那么的简单。

建议读者对每一个章节多加思考学习,下一章节,我们更深入地学习C语言的指针知识点。有C语言指针的基础知识之后,才可以更深入学习下一章的内容。有任何疑问,可以随时联系作者!

读者要仔细分析,掌握好每一个知识点,然后,自己总结出对该知识点的理解。自己总结出来的知识,理解才深刻,才是自己掌握的知识。



Tags:C语言指针   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
函数指针函数也有自己的地址,函数名/&函数名 就是函数的地址 1.1基本形式在 数组指针的学习中我们了解到int arr[5]; int (*pa)[5] = &arr;//pa是数组指针指针变量pa的类型...【详细内容】
2022-09-07  Tags: C语言指针  点击:(83)  评论:(0)  加入收藏
函数参数传递指针变量在函数的定义中,函数的参数可以是各种变量,就包括指针变量。首先,我们来看看一个函数的定义:void func(char* p);该函数的名称叫做func,参数定义为 char* p...【详细内容】
2021-07-09  Tags: C语言指针  点击:(358)  评论:(0)  加入收藏
1 引言举个例子: 在func函数退出后,指针pInt所指的内容*pInt为 12#include <stdio.h>//公众号:C语言与CPP编程int func(int* pRes){ if(pRes == NULL) pRes = new int(1...【详细内容】
2020-08-12  Tags: C语言指针  点击:(89)  评论:(0)  加入收藏
指针对于C来说太重要。然而,想要全面理解指针,除了要对C语言有熟练的掌握外,还要有计算机硬件以及操作系统等方方面面的基本知识。所以本文尽可能的通过一篇文章完全讲解指针。...【详细内容】
2020-02-27  Tags: C语言指针  点击:(150)  评论:(0)  加入收藏
指针在C语言中是一块很重要的内容,也是比较难理解的一块内容,我们需要反复理解反复巩固才可以对其有所了解。之前也分享过指针相关的笔记,但是都比较杂,本篇笔记汇总一下指针相...【详细内容】
2020-01-30  Tags: C语言指针  点击:(141)  评论:(0)  加入收藏
▌简易百科推荐
前几天有个后端程序员的朋友和小慕吐槽:今年大部分的时间一直在重复着「增删改查」,回顾这一年基本没啥进步,内卷严重啊,这样下去好怕被裁员啊!在现实情况中,好像大多数人都会遭遇...【详细内容】
2022-10-25  慕课网  今日头条  Tags:C++   点击:(9)  评论:(0)  加入收藏
“协程”(coroutine),就是把Linux epoll的异步IO机制通过长跳转(long jmp)封装起来,形成一个在用户看来“连续的”流程。所有操作系统的异步IO,都分为启动函数和回调函数。以Linux...【详细内容】
2022-10-08  底层技术栈  今日头条  Tags:C语言   点击:(38)  评论:(0)  加入收藏
经过我前面介绍的C++学习书籍、博客网站、在线视频学习网站(没有看过的同学可以到我的主页翻看),相信大家已经有一些C++基础的,有了理论,需要通过项目来提升自身技术能力,下面推荐...【详细内容】
2022-10-07  程序员柠檬橙  今日头条  Tags:C++   点击:(46)  评论:(0)  加入收藏
微软的Windows长期霸占80%以上的市场份额,Windows视窗界面开启了全世界绝大多数人使用电脑的启蒙之旅,更为震撼的是非洲支教小伙竟然手绘office界面教孩子们学习电脑知识。 1...【详细内容】
2022-09-27  汇聚魔杖  今日头条  Tags:C++   点击:(35)  评论:(0)  加入收藏
上升沿和下降沿在我们开发上位机时使用率非常高,常见于消息触发、脉冲归档等。但是在C#中没有类似PLC中的上升沿、下降沿那样的指令,需要我们自己编码来实现。首先我们创建一...【详细内容】
2022-09-27  HwLib  今日头条  Tags:C#   点击:(112)  评论:(0)  加入收藏
很多人会有一个疑问C语言编译器为什么能够用C语言编写?今天就来带大家一探究竟!所谓C语言编译器,就是把编程得到的件,比如.c,.h的件,进行读取,并对内容进行分析,按照C语言的规则,将...【详细内容】
2022-09-25  互联共商     Tags:C语言   点击:(37)  评论:(0)  加入收藏
C风格的面向对象设计,是从Linux内核代码流行开的一种设计模式。C++并不适合编写系统内核代码,但内核里的很多模块又非常的OOP[呲牙]所以Linux之父就想出了这么一套C风格的OOP,...【详细内容】
2022-09-25  互联网资讯看板     Tags:框架   点击:(35)  评论:(0)  加入收藏
编译 | 核子可乐、Tina微软 Azure CTO 向旧语言猛烈开炮,C++ 之父对此进行了辩护。微软 Azure CTO Mark Russinovich 呼吁放弃 C 和 C++ 这两门久经时间考验,被广泛应用于高性...【详细内容】
2022-09-21  InfoQ     Tags:C++   点击:(44)  评论:(0)  加入收藏
函数指针函数也有自己的地址,函数名/&函数名 就是函数的地址 1.1基本形式在 数组指针的学习中我们了解到int arr[5]; int (*pa)[5] = &arr;//pa是数组指针指针变量pa的类型...【详细内容】
2022-09-07  互联网资讯看板   网易号  Tags:C语言   点击:(83)  评论:(0)  加入收藏
本示例主要是讲明sql解析的原理。前言阅读本文需要有一定正则表达式基础 正则表达式基础教程 ,和编译原理的基础。有使用过VUE的伙伴可能知道vue是自定了模版解析编译器的,vue...【详细内容】
2022-09-01  中年农码工    Tags:c#   点击:(71)  评论:(0)  加入收藏
站内最新
站内热门
站内头条