印度小哥讲解的指针, 真的很好, 这里附上链接:
https://www.bilibili.com/video/BV1bo4y1Z7xf/?spm_id_from=333.999.0.0
1. 指针是什么
指针是用来存储一个变量地址的变量, 若是一个“变量”占用了多个地址, 那指针就指向对应的“变量”所占用的最低的“地址”
2. 指针中两个重要的操作符
&
:“引用(地址)操作符(运算符)”.
*
:“解引用操作符”.
表达式:&x
返回变量 x
的内存地址.
表达式:*p
返回指针 p
所指向的变量的值.
2.1 指针的作用
int main() {
int a = 1;
int* ptr; // 表示可以存储一个“int类型”的变量地址.
ptr = &a; // 表示将“int类型变量“a””的地址存放到“指针ptr”中.
return 0;
}
int main() {
int a = 1;
int* ptr; // 表示可以存储一个“int类型”的变量地址.
ptr = &a; // 表示将“int类型变量“a””的地址存放到“指针ptr”中.
*ptr = 5;
return 0;
}
2.2 小结
&var 可以读作:var的地址.
*ptr 可以读作:ptr指向的值.
3. 指针与 ++, --
的结合使用
int main() {
int* ptr;
//x = *ptr++; // 这段代码表示:先将“ptr指针指向的值”赋值给“x”, 然后指针增加, 指向下一个元素.
//x = (*ptr)++ // 这段代码表示:先将“ptr指针指向的值”赋值给“x”, 然后将指针ptr指向的值“+ 1”, 指针ptr还是指向这个地址.
}