c - 这些语法的含义(指针算术?)

标签 c pointers

我想知道这 4 个符号是什么意思。我是 C 中指针的新手,我不确定这是否被视为指针算术?

1. (*x)++ 
2. *(x++) 
3. ++(*x)
4. *(++x)

谢谢

最佳答案

  1. (*x)++ - 增加 x 指向的值(后增量,返回原始值)

  2. *(x++) - 递增 x(递增后)取消引用原始指针)。

  3. ++(*x) - 与 #1 相同,但返回增加后的值。

  4. *(++x) - 与 #2 相同,但取消引用结果指针。

此外,#2 和#4 更改指针的值(指针算术),而#1 和#3 - 更改 x 指向的值(即:whatever-x-points-算术)。

关于c - 这些语法的含义(指针算术?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7974033/

相关文章:

c - 在文件中搜索字符串

c++ - 主线程和插件中的pthread?

c - 地址=通过宏定义的数据

c - 处理 *nix 中多路复用套接字上的读取超时

c++ - 如何返回指针 vector (和所有权)C++11

c - C 中的段错误和无限循环 - 自调用 main 函数

c++ - 在用户插入数据之前创建结构对象时,Vector 返回乱码

c++ - 检查函数指针类型

c - 为什么这个程序会出现段错误?

c - 使全局结构指针可用于多个源文件