在本节中,我们将看到C ++中的* ptr ++,* ++ ptr和++ * ptr有什么区别。
在这里,我们将看到C或C ++中postfix ++和prefix ++的优先级。前缀++或-的优先级高于取消引用运算符'*'和后缀++或-的优先级高于前缀++和取消引用运算符'*'。
如果ptr是指针,则* ptr ++表示*(ptr ++),而++ * prt表示++(* ptr)
#include<iostream> using namespace std; int main() { char arr[] = "Hello World"; char *ptr = arr; ++*ptr; cout << *ptr; return 0; }
输出结果
I
因此,这里最初的ptr指向“ H”。使用++ * ptr后,它会将H增加1,现在的值为“ I”。
#include<iostream> using namespace std; int main() { char arr[] = "Hello World"; char *ptr = arr; *ptr++; cout << *ptr; return 0; }
输出结果
e
因此,这里最初的ptr指向“ H”。使用* ptr ++后,它会增加指针,因此ptr将指向下一个元素。所以结果是“ e”。
#include<iostream> using namespace std; int main() { char arr[] = "Hello World"; char *ptr = arr; *++ptr; cout << *ptr; return 0; }
输出结果
e
在此示例中,我们还使用++来增加ptr,其中pre-increment ++的优先级更高,然后先增加指针,然后使用*取值。因此它正在打印“ e”。