定义:

指针是一个整数,一种存储内存地址的数字

  1. 内存就像一条线性的线,在这条街上的每一个房子都有一个号码和地址
  2. 类似比喻成电脑,这条街上每一个房子的地址 是一个字节
  3. 我们需要能够准确找到这些地址的方法,用来读写操作

因此,指针就是这些地址。不要考虑类型,无论是什么类型的指针,都是用来保存地址的整数。

使用

int main() {
void* ptr = nullptr;
}

表示不在乎类型的空指针,我们无法对空指针进行读取和写入

int main() {
int var = 8;
void* ptr = &var;
}

用&符号取得var的地址,并赋给ptr

对程序进行Debug,可以得到var的值为8ptr的的值是0xfd183ffcc4,本文使用的clion,在memory中输入,可以被带到内存区域。

总结来说,它本身不保存所谓变量的数字,指针就是一个保存地址的数,仅此而已

解引用

在指针前增加*可以进行解引用。

int main() {
int var = 8;
void* ptr = &var;
*ptr = 10;
}

上述代码有错误,因为将10赋值给*ptr后,内存不知道该分配多少字节,是4?还是8?……

这时候就需要类型了,用来告诉编译器,他需要多少字节

int main() {
int var = 8;
int* ptr = &var;
*ptr = 10;
std::cout << var << std::endl; // 结果为10
}



可以看到编程0a,0a是十六进制的10

堆上创建

int main() {
char* buffer = new char[8];
//对指针进行操作 delete[] buffer;
}
  1. 我们知道char是1byte,上面这句话是告诉编译器,给我分配8个字节的内存,
  2. 与此同时,返回了一个叫buffer的指针指向那块内存的开始位置
  3. 在最后,我们需要使用delete[] buffer来删除指针。

指针的指针

int main() {
char* buffer = new char[8]; char** ptr = &buffer; delete[] buffer;
std::cin.get();
}

简单来说指针的指针,就是定义一个新的指针,用来指向指针的地址。

最新文章

  1. eclipse中 报出The type javax.servlet.http.HttpServlet cannot be resolved. It is indirect错误
  2. 2076 Problem F Quick Brown Fox
  3. Java Code Examples for PhantomJSDriverService
  4. EL表达式的操作符
  5. winform中利用反射实现泛型数据访问对象基类(2)
  6. Discuz 插件制作之后台常用函数详解
  7. Spring核心框架 - AOP之动态代理机制
  8. 学习笔记_过滤器概述(过滤器JavaWeb三大组件之一)
  9. angularjs开发遇到的坑
  10. Servlet 中使用POI生成Excel
  11. [转+整理]LINUX学习笔记(1):磁盘结构及分区
  12. Python开发【第二十一篇】:Web框架之Django【基础】
  13. Android之Activity启动的源码简介
  14. Learning Cocos2d-x for WP8(4)——中文显示
  15. jdk 1.8 开发环境配置
  16. 手把手带你画一个 时尚仪表盘 Android 自定义View
  17. 牛客网 PAT 算法历年真题 1012 : D进制的A+B (20)
  18. Jenkins install
  19. php文件下载(解决文件下载后多几个字节的问题) 与封装成类的例子
  20. 设计模式之flyweight享元模式

热门文章

  1. 编写HelloWorld并运行
  2. Mybatis-Plus自动生成器生成代码基于springboot项目启动
  3. 齐博x1 直播神器聊天小插件
  4. 齐博x1会员中心菜单权限显示
  5. 基于vite3+tauri模拟QQ登录切换窗体|Tauri自定义拖拽|最小/大/关闭
  6. 解决ffmpeg的播放摄像头的延时优化问题(项目案例使用有效)
  7. Oracle数据库PLSQL编程和存储过程
  8. 「浙江理工大学ACM入队200题系列」问题 B: 零基础学C/C++12——求平均值
  9. ElasticSearch深度分页详解
  10. 2022-11-02 Acwing每日一题