[学习资料] 指针你会用吗?

[复制链接]
2530|17
 楼主| zhuotuzi 发表于 2023-10-17 15:39 | 显示全部楼层 |阅读模式
什么是指针?
指针是一个变量,它存储了一个内存地址。这个内存地址可以指向另一个变量或数据的位置。指针可以用于直接访问或修改内存中的数据,因此在编程中非常有用。
定义指针
在C和C++中,要声明一个指针,你需要使用*操作符。以下是声明一个整数指针的示例:
  1. int *ptr;
这里ptr是一个整数指针,可以指向整数类型的数据。

初始化指针
指针通常需要初始化为特定的内存地址或变量。你可以使用取地址操作符&来获取变量的内存地址并将其分配给指针。例如:
  1. int number = 42;
  2. int *ptr = &number;
现在,ptr指向了number的内存地址。
访问指针指向的值
要访问指针指向的值,你可以使用间接操作符*。例如:
  1. int value = *ptr;
这将把ptr指向的内存中的值赋给value。
修改指针指向的值
你也可以使用指针来修改其指向的值:
  1. *ptr = 123; // 修改ptr指向的值为123


 楼主| zhuotuzi 发表于 2023-10-17 15:40 | 显示全部楼层
空指针
空指针是一个指针,它不指向任何有效的内存地址。在C和C++中,空指针用NULL(或C++中的nullptr)表示。
  1. int *ptr = NULL; // 或 int *ptr = nullptr;(C++)
指针算术
指针可以执行算术操作,如增加和减少,以便在数组和数据结构中导航。例如:
  1. int arr[5] = {1, 2, 3, 4, 5};
  2. int *ptr = arr; // 指向数组的第一个元素
  3. ptr++; // 移动到数组的下一个元素
指针和数组
指针和数组之间有密切的关系。数组名称本质上就是一个指向数组第一个元素的指针。你可以使用指针来遍历数组元素。
  1. int arr[5] = {1, 2, 3, 4, 5};
  2. int *ptr = arr; // arr是指向arr[0]的指针

  3. for (int i = 0; i < 5; i++) {
  4.     printf("%d ", *ptr); // 打印数组元素
  5.     ptr++; // 移动到下一个元素
  6. }
这是一个简单的指针教程,帮助你入门指针的基本概念和用法。指针在C和C++编程中非常重要,因此深入理解它们将使你能够更灵活地操作内存和数据。**这个教程有助于你开始学习指针。

幸福小强 发表于 2023-10-17 21:13 | 显示全部楼层
很少应用这个。
tpgf 发表于 2023-11-3 10:48 | 显示全部楼层
像数组啊 链表啊 什么的额 实质都是指针吧
qcliu 发表于 2023-11-3 12:14 | 显示全部楼层
指针基本上都能用 但是想要用好了是真的不同意
drer 发表于 2023-11-3 13:27 | 显示全部楼层
我总是避免直接操作指针 省的犯错
coshi 发表于 2023-11-3 14:15 | 显示全部楼层
指针一旦用不好就会掉坑里边 而且还不容易找原因
wiba 发表于 2023-11-3 14:51 | 显示全部楼层
其实精准的使用指针能给我们提供很多的便利
kxsi 发表于 2023-11-3 21:00 | 显示全部楼层
单片机c语言编程,鼓励多使用指针吗
Undshing 发表于 2023-11-12 18:51 | 显示全部楼层
当然,指针这么方便
Henryko 发表于 2023-11-14 11:03 来自手机 | 显示全部楼层
指针用起来很爽啊
Jacquetry 发表于 2023-11-20 10:44 来自手机 | 显示全部楼层
什么编程里用好指针都可以
AloneKaven 发表于 2023-11-21 09:27 来自手机 | 显示全部楼层
只会指针的基础用法
Bowclad 发表于 2023-11-23 15:16 来自手机 | 显示全部楼层
瞎操作指针也会出大问题的
MessageRing 发表于 2023-11-27 14:41 来自手机 | 显示全部楼层
指针很方便,前提是用的好
AloneKaven 发表于 2023-11-28 10:21 来自手机 | 显示全部楼层
指针操作的风险也很大
星辰大海不退缩 发表于 2023-12-1 08:49 | 显示全部楼层
指针这个是一个C的模块确实非常实用
Henryko 发表于 2023-12-4 10:27 来自手机 | 显示全部楼层
注意指针指向变量的生命周期
您需要登录后才可以回帖 登录 | 注册

本版积分规则

217

主题

3393

帖子

7

粉丝
快速回复 在线客服 返回列表 返回顶部