首頁 >後端開發 >C++ >星號該去哪裡?了解 C 指標聲明的歧義

星號該去哪裡?了解 C 指標聲明的歧義

DDD
DDD原創
2024-12-21 18:46:12831瀏覽

Where Should the Asterisk Go? Understanding C   Pointer Declaration Ambiguity

指標定義難題:星號的位置

在指標領域,星號(*) 的位置有時會引起人們的注意困惑。本文旨在透過檢查幾個指針聲明範例來澄清歧義。

考慮以下程式碼片段:


  1. int* test; li>
  2. int *測試;

  3. int * 測試;

  4. int* 測試,test2;

  5. int *測試,測試2;

  6. int * test,test2;

傳統上,認為前三個例子是相同的,將名為“test”的指標宣告為整數。然而,這是一個錯誤的假設。

相反,星號的位置至關重要。在情況 4、5 和 6 中,「test」和「test2」都是指向整數的指標。相反,在情況 5 中,只有“test”是指針,而“test2”是常規整數。相反,情況 6 相當於情況 5,其中「test」是指針,「test2」是整數。

為避免進一步混淆,建議將指標宣告與變數宣告分開,如下所示:

int* test;
int* test2;

或者,您可以使用:

int *test, *test2;

此方法可確保清晰度以及指針聲明的準確性。

以上是星號該去哪裡?了解 C 指標聲明的歧義的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn