首页 > 后端开发 > C++ > C 中的 `*ptr`、`*ptr` 和 `ptr` 有什么区别?

C 中的 `*ptr`、`*ptr` 和 `ptr` 有什么区别?

DDD
发布: 2024-12-23 21:07:14
原创
565 人浏览过

What's the Difference Between `*ptr  `, `  *ptr`, and `  ptr` in C?

理解指针表达式:ptr、 ptr 和 *ptr

在 C 编程中,这三个表达式很常见用于操作指针及其指向的值。了解它们的行为对于有效使用指针至关重要。

1. *ptr

  • 这个表达式实际上首先取消引用指针,返回它指向的值。
  • 然后,它递增指针 移动一个单位,将其指向数组中的下一个元素或数组中的下一个字符字符串。
  • 例如,如果 ptr 指向数组的第一个元素,*ptr 将返回该元素的值,然后递增 ptr 以指向第二个元素。

2. * ptr

  • 与前面的表达式不同,这个首先将指针增加一个单位。
  • 然后,它取消引用指针,返回指针现在指向的值。
  • 当你需要时这很有用访问下一个元素的值而不取消引用当前指针。

3. *ptr

  • 此表达式直接递增 ptr 指向的位置处的值。
  • 它首先取消引用指针,返回它指向的值。
  • 然后,它将值增加一个单位。
  • 这可用于修改由ptr.

示例:

int arr[5] = {1, 2, 3, 4, 5};
int *ptr = arr;

printf("%d ", *ptr++); // Prints 1 and increments ptr to the second element
printf("%d ", *++ptr); // Increments ptr to the third element and prints 3
printf("%d\n", ++*ptr); // Increments the value at the third element and prints 4
登录后复制

输出:

1 3 4
登录后复制

以上是C 中的 `*ptr`、`*ptr` 和 `ptr` 有什么区别?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板