C語言中,用和用的區別

2021-07-29 22:59:40 字數 1213 閱讀 7824

1樓:兆初晴謬美

在「結構」一單元中出現的->運算子成為「右箭頭選擇」,在使用中可以用new_node->value

=10;來代替(*new_code).value=10;

也就是說在結構中,運算子->是運算子*和運算子.的結合,在上述語句中,他先對new_node間接定址以定位所指向的結構,然後再選擇結構的成員value。

2樓:鄺弘義有亮

c語言中絕對有「->」和「.」!

這兩個運算子都是用來訪問結構體的。比如有結構體struct

student

;並且有兩個變數

struct

student

zhangsan;

struct

student

*p;p=&zhangsan;

你要留意zhangsan是結構體的名字,p是指向這個結構體的指標。

那麼訪問結構體的兩個變數時就只能用

zhangsan.math=60;

zhangsan.english=70;

p->math=80;

p->english=90;

即結構體的名字用點,相當於「的」,某個結構體的某個分量。

指向結構體的指標就用「->」,相當於指標指向的結構體的分量。(你看那箭頭,就好比指標)

另外,在c語言中還有「位段」的概念,訪問某個bit也用「.」,也可以理解成一種結構體。

3樓:永景將嶽

兩個運算子號的優先順序相同,但是"->"用於指向結構成員,它的左邊應為指向該結構型別的指標(結構指標),而"."的左邊應為該結構型別的變數(結構變數)。舉個例子,這個結構有個結構指標structpoint,有個該結構型別的變數student,其中structpoint指向student,即*structpoint=student,那麼structpoint->name=(*structpoint).

name=student.name

4樓:侍星淵敏駿

唯一的區別是->前面放的是指標,而.前面跟的是結構體變數,如已定義了一個結構體struct

student,裡面有一個int

a;然後有一個結構體變數struct

student

stu及結構體變數指標struct

student

*p;且有p=&stu,那麼p->a和stu.a表示同一個意思

c語言中用於交換值函式問題,C語言中呼叫函式交換兩個變數的值需要傳遞地址,為什麼相加就可以直接用

因為void gsd int a,int b 中的a和b在呼叫時用實參的值進行拷貝,在函式中交換的只是拷貝過來的副本,所以原來的實參值並沒有發生交換操作。而在void gsd int a,int b 中int 型別使a和b的性質發生了變數,它們是 引用變數 呼叫時它們就成了實參的 別名 就是說在函式...

abb區別C語言中的,abi和aib區別C語言中的

a.b i 是 a 變數的陣列成員 b 的第 i 個元素 a i b 是陣列 a 的第 i 個元素的成員 b 這不是很簡單的區別嗎?c語言中 a b a b和 a 一 表達意思不同 1 a b a b 如果a大於b,則取a,否則取b。2 a 二 邏輯順序不同 1 a b a b 記憶體邏輯中先執行大...

c語言的a和a有什麼區別,C語言中a與a的區別是什麼詳細一點,謝謝

如果要列印的值 來是a 如printf d a 那打源印出來的只是a的值bai.但是第二次打du 印的a值就 zhi是 後的值.就是先打dao印後 a就是先改變a的值,再列印出來.具體差別你可以自己試著執行比較一下.c語言中a 與 a的區別是什麼?詳細一點,謝謝 a 是先返回a的值,再執行 運算。a...