1樓:匿名使用者
如果有乙個結構node。像下面一樣。
struct node
;然後,你申明乙個指向node的指標node *area;(要記得malloc或者new)
這個時候,你就要用->符號來通過area訪問area所指向的內容。比如area->data = ...;area->next=。。。之類的。
我感覺只能是指標用這個,如果不是指標。而是node area。那就要用area.data。用這個點來訪問了。
你說的area->flags=flags;的意思 就是 area指向的結構中有乙個變數的名字是flags,就和我上面的data一樣的。後面的這個flags應該是你程式中的乙個變數,應該是和你定義的結構中的flags是一樣的型別,這樣就賦值給它了。(個人感覺flags應該是bool型的)
這也是我個人的理解,希望能幫得上你。
2樓:匿名使用者
.是直接引用,-》是間接引用。通俗點說就是a.b是取a裡面個乙個b,a->b是取a指向的東西裡的b,此時這個a一般是個指標。
3樓:匿名使用者
跟點類似。點是取結構的資料成員,->是取指標(指向結構)指向的結構的資料成員。
area->flags=flags;是area指標指向的結構的flags資料成員被賦予flags。
c語言中n--和--n是什麼意思
4樓:打娘胎裡喜歡你
如下:n--和--n的作用都是讓n自減1,如原先n為5,n--或--n之後n就變為了4。
他們的區別在於:
n--這個表示式的值是n自減之前的值,如:
int n=5;
int a=n--;//此時a的值為5
n--這個表示式的值是n自減之後的值,如:
int n=5;
int a=--n;//此時a的值為4
例如:n=10;
k=10*n--+3;
則結束後,k=103, n=9
--n就是在表示式中,先n自n自減,再取n的值進行運算;
例如:n=10;
k=--n*10+3;
則結束後,k=93, n=9
若是單獨的語句--n; 則與 n--; 是完全沒有區別的。
5樓:匿名使用者
1、n--就是在表示式中,先取n的值進行運算,運算結束後再n自減;
例如:n=10;
k=10*n--+3;
則結束後,k=103, n=9
2、--n就是在表示式中,先n自n自減,再取n的值進行運算;
例如:n=10;
k=--n*10+3;
則結束後,k=93, n=9
3、若是單獨的語句--n; 則與 n--; 是完全沒有區別的。
擴充套件資料c語言的運算
c語言的運算非常靈活,功能十分豐富,運算種類遠多於其它程式語言。在表示式方面較其它程式語言更為簡潔,如自加、自減、逗號運算和三目運算使表示式更為簡單,但初學者往往會覺的這種表示式難讀,關鍵原因就是對運算子和運算順序理解不透不全。
當多種不同運算組成乙個運算表示式,即乙個表示式中出現多種運算子時,運算的優先順序和結合規則顯得十分重要。
在學習中,對此合理進行分類,找出它們與數學中所學到運算之間的不同點之後,記住這些運算也就不困難了,有些運算子在理解後更會牢記心中,將來用起來得心應手,而有些可暫時放棄不記,等用到時再記不遲。
參考資料
6樓:肥仙女
1、n--,先取n的值進行運算,運算結束後再n自減;
例如:n=10;
k=10*n--+3;
則結束後,k=103, n=9
2、--n:先n自n自減,再取n的值進行運算;
例如:n=10;
k=--n*10+3;
則結束後,k=93, n=9
擴充套件資料:"\n":
c語言中的換行符是"\n",就是輸入完一行內容後,游標轉到下一行的起始位置 。
例如:printf("first line\n");
printf("second line\n");
跳轉結構:
return:用在函式體中,返回特定值(如果是void型別,則不返回函式值)。(k&r時期引入)
continue:結束當前迴圈,開始下一輪迴圈。(k&r時期引入)break:
跳出當前迴圈或switch結構。(k&r時期引入)goto:無條件跳轉語句。
(k&r時期引入)分支結構:
if:條件語句,後面不需要放分號。(k&r時期引入)else:
條件語句否定分支(與if連用)。(k&r時期引入)switch:開關語句(多重分支語句)。
(k&r時期引入)case:開關語句中的分支標記,與switch連用。(k&r時期引入)
default:開關語句中的「其他」分支,可選。(k&r時期引入)
7樓:匿名使用者
n--和--n的意思都是讓n自減1。
1: n--這個表示式的值是n自減之前的值。
如:int n=5;int a=n--;
此時a的值為5。
2 :--n就是在表示式中,先把n自減,再取n的值進行運算。
如:int n=5;int a=--n;
此時a的值為4。
8樓:匿名使用者
樓主你好。
n--和--n的作用都是讓n自減1,如原先n為5,n--或--n之後n就變為了4。
他們的區別在於:
n--這個表示式的值是n自減之前的值,如:
int n=5;
int a=n--;//此時a的值為5
--n這個表示式的值是n自減之後的值,如:
int n=5;
int a=--n;//此時a的值為4
記憶方法:
從左邊向右邊看,n--先看到n,所以表示式的值是n;--n先看到--,所以表示式的值是自減之後的值。
希望對你有幫助,有不懂的可以追問我。
9樓:滄海雄風
都是自減操作
區別是 順序問題
、舉例int n=2;
int b = n--;
這個b等於2
如果是int b = --n;
那麼b=1
10樓:菜鳥程式設計師
n--如果用在迴圈判斷條件裡,執行完一次迴圈語句再將n-1.
--n如果用在迴圈判斷條件裡,先將n-1再執行迴圈語句。
其他用法基本都是將n-1.手打望採納
11樓:陸舒杰
c語言中,i--相當於i=i-1,--n也是一樣的,也就是通常進行的自減運算
給你舉乙個例子吧
例如:i--與--i的區別
i--在使用i之後,使i的值減1;--i在使用i之前,先使i的值減1.
同理n--和--n也是一樣的
建議你可以去翻看譚浩強的c程式設計,裡面有很詳細的介紹!
希望幫助到你
12樓:匿名使用者
n--和--n都是n-1的意思,但是他們的區別在於,舉個例子
a=2,n=3 if(a==n--)這個時候先判斷a==n,n再減1,而if(a==--n),是n先減1,再判斷a==n
13樓:一切盡在眼底
n--為後自減
--n為先自減
舉個簡單的例子吧:
int x = 1, y = 1;
int a = x--;
int b = --y;
printf("%d, %d, %d, %d", a, b, x, y);
輸出:1, 0, 0, 0
這裡就突出了這2種自減的不同點了
14樓:雲南新華電腦學校
n--,先取n的值進行運算,運算結束後再n自減;
--n:先n自n自減,再取n的值進行運算;
15樓:
c語言中'\n'是換行的意思,一般放到printf()這類函式中使用,比如:
printf("this is a test\n please check it\n");
結果是:
this is a test
please check it
16樓:悲傷0謝幕
n--、--n都是n=n-1 的意思,就是自減1,n--先返回再自減,--n先自減再返回
例如:n=1;
a=n--;
//a=1 n=0
n=1;
a=--n;
//a=0 n=0
17樓:倒霉熊
n--和
--n都是 n=n-1;單獨的時候沒有區別
18樓:沁涼之夏
使用後自減1 先自減1在使用
19樓:匿名使用者
rd? hlhnjui? i'm
20樓:雪恥聆聽
n--是先利用n的值,然後再減1;--n是n先減1,然後再利用n值
21樓:匿名使用者
礤爸爸多爸爸d?……這種事情ada把de
c語言運算子中的>>是什麼意思?有啥功能?謝謝。
22樓:蘇嘉愛娛樂
>>是右移運算子,移位運算子的一種:程式設計中,位操作運算子的一種。
c語言中位移位運算子是將資料看成二進位制數,對其進行向左或向右移動若干位的運算。位移位運算子分為左移和右移兩種,均為雙目運算子。第一運算物件是移位物件,第二個運算物件是所移的二進位制位數。
位移位運算子的運算物件、運算規則與結果、結合性如表2-16所示。
移位時,移出的位數全部丟棄,移出的空位補入的數與左移還是右移有關。如果是左移,則規定補入的數全部是0;如果是右移,還與被移位的資料是否帶符號有關。若是不帶符號數,則補入的數全部為0;若是帶符號數,則補入的數全部等於原數的最左端位上的原數(即原符號位)。
擴充套件資料
優先順序:
語言中各運算子的結合性分為兩種,即左結合性(自左至右)和右結合性(自右至左)。例如算術運算子的結合性是自左至右,即先左後右。如有表示式x-y+z 則y 應先與「-」號結合,執行x-y 運算,然後再執行+z 的運算。
這種自左至右的結合 方向就稱為「左結合性」。而自右至左的結合方向稱為「右結合性」。最典型的右結合 性運算子是賦值運算子。
如x=y=z,由於「=」的右結合性,應先執行y=z 再執行x=(y=z)運算。c語言運算子中有不少為右結合性,應注意區別,以避免理解錯誤。
優先順序從上到下依次遞減,最上面具有最高的優先順序,逗號操作符具有最低的優先順序。
23樓:佼丹厙琬
c語言運算子中問號是條件運算子(與冒號組合)。該運算子是c語言中唯一乙個三目運算子。
可以通過如下的例項來說明條件運算子的用法:
int a=1, b=3;
int max;
max = a>b ? a : b; // 如果a>b,則max的值為a,否則max的值為b,也即取a與b中的較大者
24樓:
右移運算子「>>」是雙目運算子。其功能是把「>> 」左邊的運算數的各二進位全部右移若干位,「>>」右邊的數指定移動的位數。
例如:設 a=15,
a>>2
表示把000001111右移為00000011(十進位制3)。
應該說明的是,對於有符號數,在右移時,符號位將隨同移動。當為正數時,最高位補0,而為負數時,符號位為1,最高位是補0或是補1 取決於編譯系統的規定。turbo c和很多系統規定為補1。
25樓:匿名使用者
就是移位指令》明顯向右移
據個例子:
15>>4就是0000 1111向右移動四位前邊補零為0000 0000
如果是有符號數即最高位是1前補1例如8f>>4即為1000 1111右移4位是1111 1000
C語言運算子C語言運算子是怎麼運算的
內容來自使用者 wjian178 e68a84e8a2ad62616964757a686964616f31333433646432 1級優先順序 左結合 圓括號 下標運算子 指向結構體成員運算子 結構體成員運算子。2級優先順序 右結合 邏輯非運算子 按位取反運算子 字首增量運算子 字首減量運算子 正...
c語言(冪)運算子,C語言 (冪)運算子
運算子是 按位異或 1 異或是乙個數 算符。他應用於邏輯運算。2 例如 真異或假的結果是真,假異或真的結果也是真,真異或真的結果是假,假異或假的結果是假。就是說兩個值不相同,則異或結果為真。反之,為假。3 在計算機應用中,普遍運用,異或的邏輯符號 shift 6 形象表示為 真 假 真 假 真 真 ...
運算子的作用是什麼c語言中運算子的作用是什麼?
運算子用於執行程式 運算,會針對乙個以上運算元專案來進行運算。例如 2 3,其運算元是2和3,而運算子則是 在vb2005中運算子大致可以分為5種型別 算術運算子 連線運算子 關係運算子 賦值運算子和邏輯運算子。運算子優先順序指定了兩個表示式繫結得有多 緊密 例如,表示式 1 5 3 的結果是 16...