比较 C++ 中的 *ptr++、++*ptr 和 ++*ptr
在本节中,我们将了解在 C++ 中 *ptr++、++*ptr 和 ++*ptr 之间的区别。
在这里,我们将了解 C 或 C++ 中后缀 ++ 和前缀 ++ 的优先级。前缀 ++ 或 -- 的优先级高于解引用运算符“*”,而后缀 ++ 或 -- 的优先级高于前缀 ++ 和解引用运算符“*”。
当 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,其中前缀 ++ 的优先级更高,那么它会先增加指针,然后使用 * 获取值。所以它将打印“e”。
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP