請問 C 語言中 和 的用法?

時間 2021-05-30 15:20:17

1樓:

記住 * 有3個用途

1.乘號(Multiply): 2*3 就是6

2. 宣告指標(Pointer Statement): int a =5; int* ptr=&a;就是宣告變數a是5,把a的位址附到指標ptr上

3.解引用 (Dereference): *ptr 單獨拿出來就是找出 ptr指標指向的值,按照第二點的說法就是5.

&叫做取位址符號

一般指標只能接受乙個記憶體位址而不能接受乙個值

int a =5; int* ptr=a;就是錯誤的,指標不能接受乙個值

int a =5; int* ptr=&a;才對,把a的位址給指標ptr

指標理解的話你可以這麼想。

你問我書在哪。我說在書架第一層。

你問我書在哪。我說在那個桌子上的紙條上寫著位置。這樣的話那個紙條就是指標。

紙條上寫著,書在書架第一層,這就是位址,他並不是書的實體

真正的書在書架第一層,順著位址去找吧

2樓:曹吵吵

C語言裡沒有用&作為引用的用法。如果.c檔案這麼寫的話是錯誤的。

引用的方法是c艹裡的。

用引用的話,就和定義函式時用指標,使用時形參用位址差不多。

另,我們的資料結構教材上面寫著也是C語言版,但沒有任何說明就用了&來引用真是坑爹。

3樓:牽手洋

哈哈哈終於有人和我有一樣的疑問了,我們這學期上資料結構,老師太水基本照著PPT講然後我就免修自己學了。。。之前也像你一樣搞不懂這個,後來寫多了就明白了

比如定義乙個結構體typedef struct nodenode,*linklist;

這樣定義後linklist l就等價於node*l了。。。還有c語言一般在主程式裡面呼叫用&,函式定義那塊c語言只有*。

另外嚴奶奶那本很多都是偽碼,建議把c指標函式那塊好好複習下

4樓:薛非

int creatlist(Linklist &L){}這是從嚴蔚敏的書裡看來的吧?

嚴蔚敏的《資料結構》(C語言版)是掛羊頭賣狗肉,根本不是C語言。

5樓:呉邕

c語言細節記得不太清楚了。&在c裡是取位址的意思,所以由他來的都是乙個指標,

而*p是個整型,p是指標。從開頭的struct後那個是什麼,指標?整型?記住這兒開頭,後面就對應這看就好了。

6樓:搜竼

瀉藥。學資料結構?C語言你都沒搞懂你怎麼可以學資料結構?

筷子都沒掌握,就想吃飯?

回去補C語言吧。有人可能會說,大哥,這是C++中的引用,不是C語言。

是啊,C++。

void f(int *p)//p是乙個指標,該指標指向乙個int型別的變數

void f(int &p)//這裡,p是引用,不是指標,也不是取位址。引用可以理解為是別名。

void f(int* &p)你可以理解為void f(Type &p)其中p是Type型別的變數的引用,而Type,可以是int,可以是int*,可以是int**,可以是幾乎任意型別。

C 語言中 int main 和 void main 有何區別?

DR.JC int main代表你main函式定義為整形,函式最後要加上返回值。void main或者就main代表你是無型別函式,函式最後不能加上返回值。 Eason同學 害,我一開始也一直寫void 為了省事 後來發現到了一些嚴謹的編譯器會直接報錯 貌似c必須要有返回值?反正後來我也return...

請問C語言中s top和s top有什麼區別嗎?

FRANK include class Avoidf A private auto num int main 乙個是用指標訪問,乙個是直接訪問 但是 運算子的優先順序大於 運算子,所以用指標訪問乙個類的成員時,就有 運算子這個語法糖。 勝勳 有區別s.a的時候,s是struct s a的時候,s必須...

C語言中 p p 是如何工作的?

劉博 拒絕回答好了 不要在乙個語句中多次修改同一變數的值 P大某雙學位期末考試出過請寫出f a a 的值,也是一臉懵逼,不過那門課現在已經消失了 Doraemon 我比較討厭自加 自減運算子和別的別的運算子或者判斷句同時出現,因為這樣根本搞不清參與運算的到底是自加減前的還是自加減後的,可讀性變差。自...