1.直接和间接访问
直接访问:直接通过变量名找到
间接访问:
int i =5;
mypoint = &i;
这个mypoint是用来存i的地址的,但是它本身在内存也有地址的,所以也是占内存的,一般在x86占4字节,在x64占8字节
这个mypoint成为指针变量,专门用来存另一个变量的地址
指针就是一个地址(地址用数字表示)
2.错误提示
void swap(int* pdest1, int* pdest2) { int temp; temp = *pdest1; *pdest1 = *pdest2; //*pdest1实际就是pdest1所指向的变量,也就是a *pdest2 = temp; //*pdest2实际就是pdest2所指向的变量,也就是b } int main() { int a = 5, b = 6; int* p1, * p2; p1 = &a; p2 = &b; if (a < b) { swap(p1, p2); } cout << a << b; return 0; }
记住有一个错误
int * p;
*p = 5
这是错的,因为p里面还没有存任何地址,也就是说他没有指向任何一个变量,那这个5往哪里存它都不知道
所以这样改就对了
int * p;
int a;
p = &a;
*p = 5;
这样p的内存里面存的就是a的地址了,*p也就是a了,也就是a=5