首頁 > 後端開發 > C++ > 主體

如何使用'cout”列印帶有字元指標的位址?

DDD
發布: 2024-11-03 21:10:03
原創
860 人瀏覽過

How to Print Addresses with Char Pointers Using `cout`?

Cout 字元指標的解釋

與printf() 不同,它提供特定的轉換說明符(%u 或%s)來確定是否列印char 指標指向的位址或整個字串,cout 需要明確方法來區分。

範例問題:

考慮以下程式碼片段:

<code class="cpp">int main() {
  char ch = 'a';
  char *cptr = &ch;
  cout << cptr << endl;
  return 0;
}
登入後複製

在此範例中,使用預設的GNU 編譯器,cout 將char指標解釋為C 樣式字串,並嘗試列印cptr 指向的字元。但是,如果目的是列印 ch 的位址,則需要不同的方法。

解:

使用 cptr 和 cout 列印 ch 的位址,需要明確型別轉換。這是透過利用 static_cast<> 來實現的。運算符,如下所示:

<code class="cpp">cout << static_cast<void *>(cptr) << endl;</code>
登入後複製

透過明確將 cptr 強制轉換為 void *,重載決策會選擇適當的 ostream& 運算符,該運算符將 void 指標作為參數。這會正確列印 ch 的位址。

以上是如何使用'cout”列印帶有字元指標的位址?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!