指针是 C 语言的一个重要概念。OC 系统类型的变量,自定义类型的变量都是指针。
指针的概念
定义一个变量后,程序运行过程中,该变量保存在内存中,那要使用该变量的值有这样2种方法:
1.通过变量来访问它的值。——直接访问
2.到该变量的存储位置去取它的值。——间接访问
操作系统会为每个内存单元进行编号,这个编号就是内存单元的地址。指针也就是指这些单元的内存地址。简单的说,变量的内存地址就是该变量的指针,而用于保存内存地址(指针)的变量就是指针变量。
为什么32位的操作系统最大只能支持4G 内存呢?
指针变量及基本用法
定义指针变量的语法格式:类型* 变量名;
*代表指针类型变量。
指针变量不能保存普通的值,只能保存变量的地址,也就是只能保存指针。
关于指针的2个基本的运算符:
- &:取地址运算符,用于读取后面变量的保存地址。是单目运算符,后面紧跟一个变量,
- *:取变量运算符,用于读取该指针变量所指的变量。单目运算符,后面紧跟一个指针变量。
说明:*和&2个运算符的优先级相同,都是从右向左运算。
指针变量和被指向变量的关系,示例代码: