c 指標的定義為什麼是這樣?

時間 2022-01-22 04:55:08

1樓:sanyue

int a = 100, *p = &a;

或者其實是在問為什麼不自動推導p的型別?那也是可以的:

auto a = 100;

auto p = &a;

2樓:

如果沒理解錯樓主的意思的話,樓主是感覺號就應該表達同乙個意思。但實際上不是,*號在變數宣告裡表示指標,在指標變數前面表示取指標所指向的值。類似的情況在C++裡還有很多。

3樓:

你p不需要定義的嗎? 直接x=3 行嗎?

4樓:你好程式設計

注意宣告的時候那個星號代表的是指標,並不是取值運算子哦。

變數a的型別為int,對a取位址,得到a的指標,其指標型別為int *。

現在,我們要把這個int *型別的指標賦值給p。p的型別當然最好是int *啦。

所以,我們需要宣告乙個int *型別的指標,即int *p。

關於指標的一些知識可以去看看下面的文章哦。

26. 初識指標 | 你好程式設計

5樓:懷念小櫻

不大明白題主要表達的意思。題主指的是指標的宣告為什麼是int* p=&a而不是int p =&a嗎?p是乙個int的位址變數,&a也是所以二者可以賦值,所以宣告方式不一樣,只不過兩條語句在一起就成了好像成了*p=&a,其實本質上還是 (int*)p=&a (乙個int*的變數接收了a的位址)

C 中如何定義指向函式指標的指標?

zr scat 瀉藥先定義乙個函式指標 typedef void pfn void 再定義指向函式指標的指標 void print void pfn func print pfn ptr func 在c 11下,可以這麼偷懶獲得型別 1 include 23using namespace std 4...

c 陣列定義為什麼會這樣?

wzf2000 初始化問題不說了,前面的答主說的夠了。至於為什麼會TLE,可以想想輸入的不足四位數會怎樣。結合前面答主所說就可明白。至於那位說會CE的答主,可能不知道在MinGW或類似編譯環境下std string確實是可以直接呼叫的,一般OJ也不太可能使用MSVC做編譯環境。換句話說,不同編譯環境...

為什麼說指標是 C 語言的精髓?

悽臨雨 指標 型別 虛擬記憶體位址值 整數 指標運算 根據型別確定的寬度對位址值進行修改。其中c語言裡的型別,比c 裡的型別的功能弱的多,所以你覺得c的精髓是指標,在c 裡就是個基礎操作,沒什麼大不了的。因為c語言的語言功能太貧瘠,所以只能靠記憶體位址的修改來做事,沒它就寸步難行。 Howard J...