Rumah > pembangunan bahagian belakang > C++ > Apakah Perbezaan Antara `*ptr `, ` *ptr` dan ` ptr` dalam C?

Apakah Perbezaan Antara `*ptr `, ` *ptr` dan ` ptr` dalam C?

DDD
Lepaskan: 2024-12-23 21:07:14
asal
714 orang telah melayarinya

What's the Difference Between `*ptr  `, `  *ptr`, and `  ptr` in C?

Memahami Ungkapan Penunjuk: ptr , ptr, dan *ptr

Dalam pengaturcaraan C, ketiga-tiga ungkapan ini biasanya digunakan untuk memanipulasi penunjuk dan nilai yang ditunjukkannya. Memahami tingkah laku mereka adalah penting untuk berkesan menggunakan penunjuk.

1. *ptr

  • Ungkapan ini dengan berkesan menyahrujuk penuding dahulu, mengembalikan nilai yang ditunjukkannya.
  • Kemudian, ia menambah penunjuk oleh satu unit, menghalakannya ke elemen seterusnya dalam tatasusunan atau aksara seterusnya dalam rentetan.
  • Sebagai contoh, jika ptr menunjuk ke elemen pertama tatasusunan, *ptr akan mengembalikan nilai elemen tersebut dan kemudian menambah ptr untuk menghala ke elemen kedua.

2. * ptr

  • Berbeza dengan ungkapan sebelumnya, yang ini pertama menambah penunjuk sebanyak satu unit.
  • Kemudian, ia menolak rujukan penunjuk , mengembalikan nilai yang ditunjukkan oleh penuding sekarang.
  • Ini berguna apabila anda memerlukan untuk mengakses nilai elemen seterusnya tanpa mengabaikan penunjuk semasa.

3. *ptr

  • Ungkapan ini secara langsung menambah nilai pada lokasi yang ditunjuk oleh ptr.
  • Pertama-tamanya menyahrujuk penunjuk, mengembalikan nilai yang ditunjukkannya.
  • Kemudian, ia menambah nilai oleh satu unit.
  • Ini boleh digunakan untuk mengubah suai nilai yang ditunjukkan oleh ptr.

Contoh:

int arr[5] = {1, 2, 3, 4, 5};
int *ptr = arr;

printf("%d ", *ptr++); // Prints 1 and increments ptr to the second element
printf("%d ", *++ptr); // Increments ptr to the third element and prints 3
printf("%d\n", ++*ptr); // Increments the value at the third element and prints 4
Salin selepas log masuk

Output:

1 3 4
Salin selepas log masuk

Atas ialah kandungan terperinci Apakah Perbezaan Antara `*ptr `, ` *ptr` dan ` ptr` dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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