*(pstring+1)和(*pstring+1)的区别

匿名网友 |浏览1197次
收藏|2019/07/21 06:09

满意回答

2019/07/21 06:19

设有char*pstring="AWC";则 pstring+1指针所指向的地址加1(字符W的地址) *pstring+1为指针所指向的数据加1('A'的ASCII码65+1=66,即为B的ASCII码)你可运行下面程序来理解:#include<stdio.h>intmain(){char*pstring="AWC";printf("%x\n",pstring);printf("%x\n",pstring+1);printf("%c\n",*pstring+1);printf("%c\n",*(pstring+1));return0;}程序的运行结果:

ygl990951

其他回答(2)
  • 括号表示优先级不一样*(pstring+1)表示先地址加,然后取新地址数值(*pstring+1)表示先取数值再数值加1
    回答于 2019/07/21 06:55
  • 前面的是先将指针加1,然后再取它的内容而后面的是先取内容,然后加1本质区别,前面的是地址运算而后面的是内容(数值)运算你前面的就是地址加而后面的就是数据加
    回答于 2019/07/21 06:39
0人关注该问题
+1

 加载中...