c - 理解 C : Incrementing pointers

标签 c pointers

我正在为我的编程语言考试而学习,我偶然发现了这个(用 C 语言编写):

*tp++ = *sp++;

我明白了什么*tp = *sp;可能会,但是在这里,指针何时递增?在获取值之前,之后?按什么顺序?感谢您的回答

最佳答案

由于 ++ 运算符出现在变量之后,因此值将在表达式求值后递增。所以这会将当前由 sp 指向的值分配给当前由 tp 指向的位置,然后递增两个指针。

如果表达式是

*(++tp) = *(++sp)

然后指针将在评估之前递增。

这些构造通常出现在循环内。

关于c - 理解 C : Incrementing pointers,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6161559/

相关文章:

c - c函数声明中的 "..."是什么意思?

c - 可变结构语义

c - 关于C语言中指针函数的困惑

C 开关默认情况不触发

c - c中的库函数返回值到哪里?

c - 链接静态 C 库时 undefined reference

c - 将数据读入 C 中的 float 组

c - 如果某些限制指针指向同一个对象,为什么编译器不生成警告或错误?

c++ - 删除指针和将其设置为 nullptr 之间有什么区别?

c - 如果我有一个 void 指针,我如何将一个 int 放入其中?