C语言中的指针

发布于:2022-12-02 ⋅ 阅读:(784) ⋅ 点赞:(0)

引言

  1. 本文所写的是C语言中指针部分的基础内容,由于学习数据结构(C语言版)要经常用到该部分的内容,所以整理了一下相关的知识点。
  2. 文中都是一些较基础的知识点,如要深入学习这部分的内容,建议去看相关书籍和教学视频。

知识点思维导图

在这里插入图片描述

补充:

  1. 指针的格式符是 %p 。
  2. 取地址运算符:「 & 」用于获取变量的地址。
  3. 解引用运算符(指针运算符、间接寻址运算符):「 * 」用来访问指针变量指向的变量的值。

注意事项与易错点

  1. 变量的地址指的是变量在内存中所占存储空间的首地址
  2. 习惯上在定义指针变量的同时将其初始化为NULL。
  3. 三条准则:1)清楚指针指向哪里;2)清楚指针指向对象;3)不使用未初始化的指针。

四个重要操作

  1. 定义:

    int *pa;//类型关键字 *指针变量名;
    

    定义声明了指针变量的名字及其所能指向的数据类型。

  2. 赋值:

    pa = &a;
    

    注:指针变量只能指向同一基类型的变量。

  3. 初始化:

    int *pa = &a;
    

    相当于:「 int *pa; pa = &a; 」

  4. 访问:

    *pa = 9;//修改指针变量pa所指向变量的值
    printf("%d",*pa);//输出指针 pa 所指向的变量
    

    1)注意「 pa = &a; 」(修改指针的指向)与「*pa = a; 」(修改指针所指向变量的值)的区别。
    2)可以像使用普通变量 a 一样来使用 *pa。

按值调用与模拟按引用调用

  1. 按值调用(传值)不能在被调函数中改变其调用语句中的实参值。(即函数内的语句无法改变函数外的变量值)
  2. 模拟按引用调用(传地址)可以在被调函数中改变主调函数的中这个变量的值。
  3. 需要从函数返回多个值时,用模拟按引用调用。

入口参数与出口参数

  1. 入口参数:在函数调用前必须确定其值的函数参数。
  2. 出口参数:在函数调用结束后才能背确定的函数参数,多为指针形参。

参考资料:
[1] 苏小红. C语言程序设计(第4版). 北京:高等教育出版社,2020.

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到