《C》指针
储存单元:
不同类型的数据所占用的字节不同,上面一个长方形格子表示4个字节
变量:
变量的值,就是存储的内容。变量的名就相当于地址的名。根据变量类型分配空间;通过变量名引用变量的值,程序经过编译将变量名转换为变量的地址,变量名相当于地址名,如i相当于2000,对变量值的存取都是通过地址进行的。变量访问是直接访问。
指针:
指针=地址,这两个名称都是描述的一个内容,一个变量的地址被称为该变量的指针。
指针变量:
存放另一个变量的地址(指针)。
int *i_pointer ; //定义指针变量
i_pointer=&i; //引用指针变量,将i的地址存放到指针变量i_pointer中。i_pointer指针变量也是地址变量
使用例子:
#include "stdio.h"//预处理指令 void main() { int a = 1, b = 2; void swap(int *p, int * q); int *a_p, *b_p;//定义指针变量 类型名 *指针变量名 a_p = &a;//引用指针变量,$加变量a,取a的地址 b_p = &b;//引用指针变量 printf("%d,%d\n", &a, &b); printf("%d,%d\n", a_p, b_p);//指针变量,存放地址 printf("%d,%d\n", *a_p, *b_p);//指针变量a_p加*就可以取到该指针变量所存指针指向的对象 swap(a_p,b_p);//说明p和q是指针变量 printf("%d,%d\n", &a, &b); printf("%d,%d\n", a_p, b_p); printf("%d,%d\n", *a_p, *b_p); }
指针引用数组