c++指针
#include <iostream>
#include <string.h>
using namespace std;
/**
* 指针的所占内存空间
* 1、在32位系统下,占用4字节空间,在64位系统下占用8字节空间
* eg:
* int a = 10;
int *p = &a;
cout << "sizeof(int *) = " << sizeof(int *) << endl; //8
cout << "sizeof(char *) = " << sizeof(char *) << endl; //8
cout << "sizeof(double *) = " << sizeof(double *) << endl; //8
cout << "sizeof(float *) = " << sizeof(float *) << endl; //8
*
*
* 2、空指针和野指针
* 1、用途:初始化指针变量
* 2、空指针指向的内存变量是不可以访问的
*
int *p =NULL;
*p =100; //err,0~255之间的内存1编号是系统占用,因此不能更改,不能访问
cout << "p = " << *p <<endl; //不能访问
###############野指针
int *p =(int *)0x1100;
cout << *p <<endl; //err,访问野指针报错
* */
int main()
{
int a = 10;
int b = 10;
const int *p =&a;
//指针指向的值不可以修改,指针的指向可以改
//*p = 20;//错误
p = &b; //正确
//2、const 修饰常量,指针常量
//指针指向不可以修改,指针指向的值可以修改
int * const p2 = &a;
*p =100;//正确
//p2 = &b;//错误,指针的指向不可以修改
/**
* 3、指针指向和指针指向的值都不可以修改
* *p = 100;//错误
* p3 = &b;
*/
return 0;
}
#################################技巧
######
看const右侧紧跟的是指针还是常量
是指针就是常量指针
是常量就是指针常量