cstring型別的變數中存放的是指向字串的指標

時間 2021-12-22 19:53:51

1樓:匿名使用者

首先 指標的變數 字首 * 統一報錯,其次,想列印出地址對於非指標物件的變數統一使用 & 。

string 是字串,想訪問地址得用& ,或者也可以。

樓主,還是複習下指標和變數吧。

2樓:斷的刃

string型別的變數中存放的是指向字串的指標,string s="12345",那s就是存放那個指標的,既然s存放了那個指標,那麼你為何還要輸出*s,難道s是指標變數了嗎?變成了*s是指標了嗎?

3樓:匿名使用者

字串指標是不用*s這樣取值的,字元指標才用,輸出直接用s不用加星號~

4樓:匿名使用者

你那個樣子編譯器怎麼處理,首先編譯器能完成編譯寫程式就要遵循一定的規則。很明顯做編譯器的那些人很不認同你這種格式。所以不讓通過。

其次你已經宣告成字串,編譯器就按字串的規則處理,處理字串就是從首地址開始輸出,知道遇到結束符。而你那種格式是。你取得字串首地址但是他對應的格式什麼,整形,字元型還是字串型,不知道格斯編譯器又如何處理呢。

編譯器知道從首地址取多長的位元組來表示這個資料呢

c++指標指向字串變數後輸出指標為什麼錯誤?

5樓:匿名使用者

int main()

string s1="abc";

char *p=&s1[0];

cout

6樓:匿名使用者

因為字元陣列的陣列名就是常量指標,所以可以直接賦值給指標變數

string 是一個類,而類物件的首地址是不能賦值給 char 型別的指標的,二者型別不同,但你可以用下標運算子得到首字母的地址賦值,即 char *p=&s1[0] 的形式。

c++中指標陣列問題 定義的是指向字元的指標陣列 為什麼輸出的又是整個字串

7樓:

為便於說明,把問題略為簡化:“定義的是指向字元的指標,為什麼能輸出整個字串”?

在c++中,cout << p;中的p如果是字元型指標,就被解釋為“從這個指標的值(地址)開始,一個位元組接一個位元組地把其內容按ascii碼對應的字元輸出到終端,直到遇到'\0'停止,且不輸出'\0'“。下面的**表明,當把一個int變數的地址強制為char *型時,cout 《也會把4位元組的int資料按位元組的ascii值輸出字串,以證明前述分析的正確性:

//#include "stdafx.h"//if the vc++6.0, with this line.

#include

using namespace std;

int main(void)

輸出是abc  ******xx(這是a變數的16進位制地址,不同平臺值會不同)。

注:a的值是精心選擇的,使它的前3個位元組的ascii碼剛好是abc,後一個是0,否則輸出可能是亂碼,這裡只是在說明cout 《輸出字元指標時的機制。後面的&a表明當指標不是字元型時則輸出指標的地址值,以與前一個字元型指標的處理機制相對照。

8樓:匿名使用者

char* 型別的cout 形為就是顯示其指向的字串的。month[k] 的型別為 const char * ,顯示其內容是正常的。

而*month[k] 的型別為const char,得到的是對應字串的第一個字元,所以結果就是 j f什麼的。

9樓:鼻行動物

這個陣列元素明顯是char*啊。 指向字元的指標陣列是char const (*month)[n_months]

10樓:戰火科技

當char *a="******xx";

這個就是你陣列中的一個元素吧?當使用cout<

當使用cout<

所以按照你的陣列:你cout<<*month[k]<

c\c++中,當你給cout放一個字元指標的時候,它就一直輸出,知道遇到\0這個結尾。而*month[k]是取值,它不是一個指標,所以輸出單個值。

11樓:匿名使用者

char *s

s代表一個記憶體地址

std::cout << s of type char *會解釋為字串

12樓:神奇浪漫

樓上正解!!輸出a和輸出a[mao]當然不一樣

c語言,double型別的變數使用scanf 函式賦值後再

c語言中double輸入輸出,都用 lf 進行格式化,是否寫成了 f,這個是float型別。include int main 2.字元定義如下 字元 對應資料型別 含義 d i int 接受整數值並將它表示為有符號的十進位制整數,i是老式寫法 o unsigned int 無符號8進位制整數 不輸出...

能否建立void指標指向任何型別的變數

使用型別轉換的時,以void 為中介型別是個次等選項,能不用就別用。因為在強制型別轉換中,轉換到void 型別的結果會將帶型別的指標 typed pointer 的型別資訊悉數抹除,在典型的情況下,只要以void 為型別轉換的中介型別,則必須牢記這個指標的原始型別資訊,並 適時的在通過一次強制的型別...

php中變數與常量的區別,3,PHP中變數和常量的區別

定義常量和定義變數的區別 1.常量前面沒有美元符號 2.常量只能用 define 函式定義,而不能通過賦值語句3.常量可以不用理會變數範圍的規則而在任何地方定義和訪問4.常量一旦定義就不能被重新定義或者取消定義5.常量的值只能是標量 更詳細的關於變數和常量的知識請參見參考資料。 變數與常量 1.變數...