9.4 指针

文章目录

  • 指针定义
  • 指针与数组
  • 指针与函数
  • 指针与链表

指针定义

9.4 指针_第1张图片
指针对象是内存单元地址,是被明确命名的指针变量。指针指向的对象可以用*运算符获取。指针可以指向已经有地址的变量,如例子中pa = &pb,其中pb是已经被分配地址的int型变量。也可以用NULL给指针赋值,表示不指向任何内存单元。或者使用malloc申请一个地址,用指针指向这个地址,malloc的地址不再使用后,要记得free,否则会造成内存泄漏。

指针与数组

9.4 指针_第2张图片
指针与数组的使用中,需要注意:

  1. 数组名是指针常量,数组名不能被修改
  2. 不可在程序运行时修改字符串常量
  3. 指针加/减一个整数的含义,与指针指向的变量所占存储空间大小相关
  4. 常量指针,指针指向的对象是常量,不能通过指针修改其数值,但是变量自身可以修改
  5. 指针常量,指针本身是个常量,不能再指向其他的地方

指针与函数

9.4 指针_第3张图片
指针作为函数参数时,如果希望通过指针修改实参的数值,千万不可在函数内部随意修改指针指向的对象。指针作为函数返回值时,不可将函数里面的局部变量地址作为函数的返回值,因为其在函数返回后会被释放。函数指针是一种变量,其指向的是函数的入口地址,在定义时保证返回类型、形参列表类型与希望指向的函数一致即可,可以通过函数指针对函数进行间接调用。

指针与链表

9.4 指针_第4张图片
指针在链表中被大量使用,在链表的创建、查找、插入、删除中,关键是明确结点指向的位置,以及结点的next所指向的位置。

你可能感兴趣的:(程序员教程-读书笔记,指针,指针常量,常量指针,函数指针)