首頁 > 後端開發 > C++ > C 中的 `*ptr`、`*ptr` 和 `ptr` 有什麼不同?

C 中的 `*ptr`、`*ptr` 和 `ptr` 有什麼不同?

DDD
發布: 2024-12-23 21:07:14
原創
558 人瀏覽過

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

理解指標表達式:ptr、 ptr 和*ptr

在C 程式設計中,這三個表達式式很常見用於操作指標及其指向的值。了解它們的行為對於有效使用指標至關重要。

1. *ptr

  • 這個表達式實際上先取消引用指標,傳回它指向的值。
  • 然後,它遞增指標 移動一個單位,將其指向數組中的下一個元素或數組中的下一個字元字串。
  • 例如,如果 ptr 指向陣列的第一個元素,*ptr 將傳回該元素的值,然後遞增 ptr 以指向第二個元素。

2. * ptr

  • 與前面的表達式不同,這個先將指標增加一個單位。
  • 然後,它取消引用指標,傳回指標現在指向的值。
  • 當你需要時這很有用存取下一個元素的值而不取消引用當前指標。

3. *ptr

  • 此表達式直接遞增 ptr 指向的位置處的值。
  • 它首先取消引用指標,傳回它指向的值。
  • 然後,它將值增加一個單位。
  • 這可用於修改由ptr.

示例:

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
登入後複製

輸出:

1 3 4
登入後複製

以上是C 中的 `*ptr`、`*ptr` 和 `ptr` 有什麼不同?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板