Rumah > masalah biasa > teks badan

Apakah perbezaan antara *p++ dan (*p)++

尊渡假赌尊渡假赌尊渡假赌
Lepaskan: 2023-05-23 11:48:19
asal
8595 orang telah melayarinya

Perbezaan antara *p++ dan (*p)++ ialah: 1. *p++ ialah gabungan pengendali kenaikan postfix, (*p)++ ialah operator kenaikan postfix yang digunakan pada ungkapan *p; . Ungkapan *p++ mula-mula mengembalikan nilai yang ditunjuk oleh "p", dan kemudian menambah "p".

Apakah perbezaan antara *p++ dan (*p)++

Sistem pengendalian untuk tutorial ini: Sistem Windows 10, versi C18, komputer Dell G3.

Perbezaan antara *p++ dan (*p)++

*p++ dan (*p)++ ialah dua ungkapan berbeza:

  1. *p++: Ini ialah gabungan pengendali kenaikan postfix. Pertama, ungkapan *p akan membatalkan rujukan penunjuk p dan mengembalikan nilai yang ditunjuk oleh penunjuk. Kemudian, penunjuk p dinaikkan dan menunjuk ke elemen seterusnya. Oleh itu, ungkapan ini mula-mula mengembalikan nilai yang ditunjukkan oleh p dan kemudian menambah p.

  2. (*p)++: Ini ialah pengendali kenaikan postfix yang digunakan pada ungkapan *p. Pertama (*p) menolak rujukan penunjuk p dan mengembalikan nilai yang ditunjuk oleh penunjuk. Kemudian, nilainya dinaikkan. Oleh itu, ungkapan ini mula-mula mengembalikan nilai yang ditunjukkan oleh p dan kemudian menambah nilai tersebut.

Berikut ialah contoh kod untuk menggambarkan perbezaan antara kedua-duanya:

#include <iostream>
int main() {
int arr[] = {1, 2, 3};
int* p = arr;
std::cout << *p++ << std::endl;    // 输出: 1
std::cout << *p << std::endl;      // 输出: 2
p = arr;
std::cout << (*p)++ << std::endl;  // 输出: 1
std::cout << *p << std::endl;      // 输出: 2
return 0;
}
Salin selepas log masuk

Dalam contoh di atas, *p++ mengeluarkan p pertama Nilai ditunjuk kepada ialah 1, kemudian p ditambah kepada elemen seterusnya, dan kini p menunjukkan kepada 2. Dan (*p)++ mula-mula mengeluarkan nilai yang ditunjuk oleh p, 1, dan kemudian menambah nilai Sekarang nilai yang ditunjuk oleh p ialah 2. Ini menunjukkan perbezaan antara keduanya.

Atas ialah kandungan terperinci Apakah perbezaan antara *p++ dan (*p)++. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!