淺析char 指針變量char *=p 這個語句的輸出問題
學習指針的時候我一直有個疑惑,請看下面的代碼:
#include <iostream>
using std::cout;
void main()
{
int num=5;
int *nPtr=#
cout<<nPtr;//輸出指針的地址。但是會報錯<<沒有直接輸出int *地址的功能
return ;
}
但是,將int 改成char 類型就不會報錯,可以輸出字符串。同樣是指針,這次為何沒有輸出地址(理應(yīng)輸出指針代表的地址,但是<<并沒有重載地址輸出的功能所以報錯)呢?
#include <iostream>
using std::cout;
void main()
{
char *nPtr="Address";
cout<<nPtr;//輸出字符串Address;
return ;
}
原來,輸出流運算符<<重載了輸出功能,可以自動判斷類型,int直接輸出,char *就輸出所代表的字符串,如果要輸出地址,必須使用強制類型轉(zhuǎn)換函數(shù)static_cast轉(zhuǎn)換成十六進制數(shù)字,其它類型的指針比如int *double *直接輸出會報錯
#include <iostream>
using std::cout;
void main()
{
char *nPtr=“請問我”;
cout<<nPtr<<"下個輸出是指針地址 "<<static_cast<void *>(nPtr);//語句會報錯,不能輸出指針。
return ;
}
以上這篇淺析char 指針變量char *=p 這個語句的輸出問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Visual?Studio下Eigen庫環(huán)境配置方式
這篇文章主要介紹了Visual?Studio下Eigen庫環(huán)境配置方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-12-12
VSCode配置C/C++語言環(huán)境(2023最新版)
這篇文章主要介紹了VSCode配置C/C++語言環(huán)境(2023最新版)的全過程,本文給大家講解的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧2023-11-11
淺談十進制小數(shù)和二進制小數(shù)之間的轉(zhuǎn)換
下面小編就為大家?guī)硪黄獪\談十進制小數(shù)和二進制小數(shù)之間的轉(zhuǎn)換。小編覺得挺不錯的現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-01-01

