概述
指针和指针变量:
在间接访问中通过另一变量中存储的地址能找到所需的变量,可以认为该地址指向目的变量,c语言形象的把地址称为指针。变量的指针就是变量的地址,指针类型就是地址类型,而存放指针的另一变量就是指针类型的变量(简称指针变量)。
地址含有存储位置和该位置存储的是哪种类型的数据两个概念。
指针运算符:
取地址符 &: 1.先计算出占用内存空间的大小
2.将标签a替换成地址
取值运算符 * :
1.先读取p里的内容,找到内存空间的首地址
2.连续读取这个指针类型大小的字节单元
数组和指针:
1.指针运算
(1)当指针变量指向数组元素时,指针变量加(减)一个整数m,表示指针向前(后)移动m个元素(不是m个字节)。指针变量每增减1,地址字节值的增减值d等于基类型字节数。
(2)两个同类型指针可以相减,得到一个整数,等于两者之间相差的元素个数,即两者的地址字节值之差除以基类型字节数。
(3)两个同类型指针可以进行比较运算,但是类型不同不能进行比较运算,而且运算使用它们的地址值进行比较。
(4)C语言设置了一个指针常量"NULL",成为空指针。空指针不指向任何存储单元,但空指针可以赋给任何指针类型的变量。
2.通过指针访问数组元素
访问数组元素的三种方法:
(1)下标法,
(2)通过数组名计算数组元素地址,找出元素的值
(3)用指针变量指向数组元素
字符指针、字符数组、和字符串
1.用字符指针访问字符数组
2.字符串处理函数的实现
3.地址越界问题
指针数组:
(1)定义:基类型名 *数组名[数组长度]
(2)用二级指针变量访问指针数组
多维数组和指向分数组的指针
指针和函数:
1.函数指针:指针变量除了可以指向各种类型的变量,还可以指向一个函数。
2.指针函数:函数的返回值类型既可以是整型、实型、字符型、也可以是指针类型,返回值为指针类型的函数称为指针类型的函数,简称指针函数。
3.指向函数的指针变量作为函数参数
指针类型转换:如果我们需要把一个指针p的类型和所指向的类型type *type,那么语法格式为:(type*)p;这样强制类型转换的结果是一个新指针,该新指针的类型为type *,他指向的类型为type,它指向的地址就是原指针指向的地址。而原来的指针p的属性都未被修改。
定义 | 含义 |
int i | 定义整型变量i |
int *p | p为指向整型数据的指针变量 |
int a[n] | 定义整型数组a,它有n个元素 |
int *p[n] | 定义指针数组p,它由n个指向整型变量的指针元素组成 |
int (*p)[n] | p为指向含n个元素的一维数组的指针变量 |
int f() | f为代回整形函数值的函数 |
int *p() | p为带回一个指针的函数,该指针指向整形数据 |
int (*p)() | p为指向函数的指针,该指针返回一个整型值 |
int **p | p为一个指针变量,它指向一个指向整形数据的指针变量 |
最后
以上就是怕孤独音响为你收集整理的指针知识点总结的全部内容,希望文章能够帮你解决指针知识点总结所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复