C ++中++ * p,* p ++和* ++ p之间的区别

在本节中,我们将看到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”。

示例代码(C ++)

#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”。

示例代码(C ++)

#include<iostream>

using namespace std;

int main() {

   char arr[] = "Hello World";

   char *ptr = arr;

   *++ptr;

   cout << *ptr;

   return 0;

}

输出结果

e

在此示例中,我们还使用++来增加ptr,其中pre-increment ++的优先级更高,然后先增加指针,然后使用*取值。因此它正在打印“ e”。

以上是 C ++中++ * p,* p ++和* ++ p之间的区别 的全部内容, 来源链接: utcz.com/z/321752.html

回到顶部