int *p1代表一个int类型的指针变量,这个指针变量可以存储变量的地址,那么 int *p1就指向这个变量;p1代表的是这个 int *p1指针变量的值也就是指向那个变量的地址; *p1(*代表一个操作符)表示指向那个变量的值,可以将指向那个变量的值重新赋值; int *p1这个指针变量也是有自己的地址的; 通过指针可以间接操作指针指向的变量,而不论什么类型的指针变量在内存中都只占用8个字节;指针类型决定了这个指针找到了变量后操作多少个连续的字节空间,指针是int*指连续操作4个字节空间,指针是double*指连续操作8个字节空间,指针是float*指连续操作4个字节空间,指针是char*指连续操作1个字节空间;指针类型如果和指向变量类型不同的话那么通过指针就无法正确操作指向的变量;
|