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
560 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!

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