為什麼不能將整數賦給指標變數,為什麼不能將一個整數賦給一個指標變數?

時間 2021-08-11 17:23:45

1樓:99承情

因為指標變數所對應的是地址,而整數是存放在某個地址上的內容。二者不一樣。

對於指標變數如何程式:

int   _integer = 0;

int * _pinteger = &_integer;        //&為求地址運算子, 指標用來儲存一些變數的地址

可以這樣訪問(*_pinteger) 得到 _pinteger這個整形指標裡面的值0;

指標的基本概念 在計算機中,所有的資料都是存放在儲存器中的。 一般把儲存器中的一個位元組稱為一個記憶體單元, 不同的資料型別所佔用的記憶體單元數不等,如整型量佔2個單元,字元量佔1個單元等, 在第二章中已有詳細的介紹。為了正確地訪問這些記憶體單元, 必須為每個記憶體單元編上號。

其中,*表示這是一個指標變數,變數名即為定義的指標變數名,型別說明符表示本指標變數所指向的變數的資料型別。

2樓:儲紹言揚

指標變數所對應的是地址,而整數是存放在某個地址上的內容。兩個自然不能混為一談。

c++中如何給一個int型別的變數賦值成一個以零開頭的整數

3樓:幻の上帝

int型別只是整數,和數學中的定義一樣,不管字首有幾個0,值都相等。

在c/c++中,整版數字面量權的字首0表示八進位制。所以int a;a = 0908;肯定編譯錯誤,因為9不是八進位制的合法數字。

按lz的要求,應該只是輸出樣式的問題。即使用int儲存,這種也很簡單,只用c/c++標準庫就可以實現,例如c風格的printf("%06d",a);或者利用c++標準i/o的cout<

====

[原創回答團]

4樓:千鋒教育

可以呼叫iomanip庫中

來的setfill和setw方法自來設定int型的前導0。

比如:#include

int main(int argc,char *argv)執行後輸出結果是:03

5樓:匿名使用者

是int的話,是不能你那樣賦值的。

為什麼要0開頭的整數?

可以 std::string str("0908");

std::stringstream ost;

ost<>a;

6樓:80晴天

您好,這種定義是不合法的,你可以把a定義為字串,然後對a賦值0908

string a;

a = 0908";

你剛才說的學號問題使其十九字串實現的~

7樓:匿名使用者

以0開頭的整數是八進位制,你給的例子是不合法的,八進位制的數只能是0-7.

8樓:柯墨

據我所知是不可以的,除非你將a轉為string型別 然後再在前面加個‘0’賦給另一個string型別的b;

9樓:偷心的賊

a=0908是不行的,不過你可以輸出0908,這樣:

a=908;cout<<'0'<

10樓:匿名使用者

你可以使用c++提供的物件導向的設計能力,自己設計一個類,用於實現你的想法,只要為其提供運算子方面的支援,就能靈活地使用了。

11樓:喜歡黑

0908根本就不是個整數啊,怎麼用int

人為什麼不能抬起自己,為什麼一個人不能將自己抬起來?

如果是考試,只要答到,力是物體對物體的作用就可以了,也就是必須要又施力物和受力物,而且施力物和受力物不能是同一物體,至於藉助其他方法什麼的,考試的時候就不必解釋那麼多了 哈默的黑夜 首先,不嚴謹,我們通過滑輪是可以舉起自己的 如果我們要舉起自己,我們的胳膊要提供大於等於我們自身重力的力,而我們的手要...

為什麼不能把二維陣列名行的首位址賦給指標

赤水雲 要想直接把乙個二維陣列名賦給乙個指標,這個指標必須是行指標或二級指標才可以 因為在c程式設計系統中,對於二維陣列會看成陣列元素為一維陣列的一維陣列,即對於二維陣列aa 2 3 系統會看成aa 0 和aa 1 而aa 0 和aa 1 中分別包含三個元素,這就是系統對於二維陣列的處理 所以直接把...

為什麼人不能將自己抬起來,為什麼一個人不能將自己抬起來?

古河大叔 用物理學解釋 將自己看作一個整體,用力抓頭髮是內力,無外力作用,所以抓不起.人在跳高時先下蹲,用力登地,才能跳起,也是這個道理 滿意請採納 寂寞 物體想對另一個物體有力的作用,併發生相對位移,必須要有一個力的作用點,而你想把自己舉起來,作用點就在你自己身上,這樣你給你身體的力就相當一個內力...