牢记三句话:
指针就是地址,地址就是指针;指针变量是一个变量,它保存了基本类型变量的地址。
如果指针变量p保存了变量a的地址,那么称作p指向了a,*p 就是变量a。
如果p是一个指针变量,*p 表示了以 p 的内容为地址的变量,就是p指向的变量。
*p
指针的赋值:
p = address
p = &value
*(&p) = address
指针的不变性:
内存的地址是不变的;
指针是可变的;
内存的内容是可变的;
指针与函数调用栈:
指针作为函数的参量,只是将指针的地址传递了进去;
可以在函数内部修改内存的内容;
指针变量本身并没有进入函数内部,不能修改指针变量的值;
要修改指针变量的值,需要使用双重指针。