指针

空指针

  1. 空指针 指向内存中 编号为0的空间
  2. 用于初始化 指针变量
  3. 空指针指向的内存是不可访问的
int *p = NULL;

野指针

  1. 指针变量 指向 非法的 内存空间
int *p = (int *)0x1100;

常量指针

//指针的指向可以改变, 不可以改变指向的值
const int *p = &a;  //const 限定*p,所以指向的 值不可以改变

p = &b; //指向可以改


// const 后面是什么,什么就不可以改
// const 后面是什么,什么就不可以改
// const 后面是什么,什么就不可以改
// const 后面是什么,什么就不可以改
// const 后面是什么,什么就不可以改

指针常量

int a = 10;
int * const p = &a;  //const 限定的是p,指向不可以改
*p = 20;    //指向的内容可以改

const 既修饰指针,又修饰常量

const int * const p = &a;   //指向和指向的内容都不可以改变

const 后面是什么,什么就不可以改

指针和数组

利用指针访问数组中的元素

int arr[10] = { 1,2,3,4,5,6,7,8,9,0 };
int *pos = arr;

for (int i = 0; i < 10; i++) {
    cout << *pos++ << endl;
}

指针和函数

void swap(int *p1, int *p2) {
    int temp = *p1;
    *p1 = *p2;
    *p2 = temp;
}

swap(&a, &b);

你可能感兴趣的:(指针)