首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >指针表达式:*PTR++、*++PTR和++*PTR?

指针表达式:*PTR++、*++PTR和++*PTR?
EN

Stack Overflow用户
提问于 2018-03-27 04:40:00
回答 2查看 0关注 0票数 0

这三种表达方式是什么?

代码语言:txt
复制
*ptr++
*++ptr
++*ptr

例如:

代码语言:txt
复制
int main()
{
    const char *p = "Hello";
    while(*p++)
         printf("%c",*p);
    return 0;
}

输出:

代码语言:txt
复制
ello
EN

Stack Overflow用户

发布于 2018-03-27 13:55:03

假设ptr指向数组的第一个元素。

  1. *ptr++评估为arr[i]和集ptr指向arr...。它相当于*(ptr++)
  2. *++ptrptr指向arr并评估为arr[i+1]...。它相当于*(++ptr)
  3. ++*ptr increases arr[i]由1计算为其增加的值;指针ptr都没被碰过。它相当于++(*ptr)

还有一个,但是您需要括号来编写它:

  1. (*ptr)++ increases arr[i]在增加之前计算为它的值;指针ptr又一次没有被碰过。
票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100003225

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档