指標運算子和賦值運算子

2022-05-28 11:21:12 字數 1452 閱讀 4430

&取位址運算子,求得某個變數位址

*指標運算子,求得所指位址的空間裡的值

c語言中,「=」稱作賦值運算子,作用是將乙個數值賦給乙個變數或將乙個變數的值賦給另乙個變數,由賦值運算子組成的表示式稱為賦值表示式。

簡單賦值:

一般形式:變數名=表示式

注意:

在程式中可以多次給乙個變數賦值,每賦一次值,與該變數相應的儲存單元的資料就被更新一次,記憶體中當前的資料就是最後一次所賦值的那個資料。即,最左邊變數所得到的新值是整個賦值表示式的值。

賦值運算子的優先級別高於逗號運算子。

注意賦值運算子「=」和等於運算子「==」的差別

賦值運算子的左側只能是變數,而不能使常量或表示式。右側可以是表示式,包括賦值運算表示式。「a=b=1+1」是對的,而「a=1+1=b」是錯的(原因:由於賦值運算表示式的結合方式是從右到左,其第乙個賦值表示式的左側是常數,所以錯誤)

復合賦值:

在賦值運算子之前加上其他運算子可以構成復合賦值運算子。其中與算術運算有關的復合運算子有+=、-=、*=、/=、和%=等。

注意:

兩個符號之間不可以有空格

復合賦值運算子的優先順序與賦值運算子的相同。表示式n+=1等價於n=n+1,作用是去變數n中的值增1再賦值給變數n,其他復合賦值運算子的運算規則以此類推。

例:求表示式a+=a-=a*a的值(a=12)

解:先進行「a-=a*a」運算,相當於a=a-a*a=12-144=-132

再進行「a+=-132」運算,相當於a=a+(-132)=-132-132=-264

如果賦值運算子兩側的型別不一致,在賦值前系統將自動先把右側的值或通過表示式求得的數值按賦值號左邊變數的型別進行轉換。

自增自減運算:

自加運算子「++」和自減運算子「--」的作用是使運算變數的值增1或減1。

自加、自減運算子是單目運算子。其運算物件可以是整型或實型變數,但不能是常量和表示式,因為不能給常量或者表示式賦值。

自加、自減運算子可以作為可以作為字首運算子,也可以作為字尾運算子構成乙個表示式,如++i、--i、i++、i--等都是合法的表示式。

注意:

無論是字首還是字尾運算子,一定會有i的值加1或則減1這一步。

++i、--i:在使用i之前,先使i的值加1或減1,再使此時的表示式的值參加運算。(即加前或則減前取值)

i++、i--:在使用i之後,使i的值加1或減1,再使此時的表示式的值參加運算。(即加後或則減後取值)

自加自減運算子的結合方向:自右向左

例:-i++

解:i的左邊是負號運算子,右邊是自加運算子,負號運算子和自加運算子的優先順序是相同的,而且都為「自右向左」結合的,所以此表示式相當於-(i++)。若i的初值為2,則表示式-(i++)的值為-2,i的值為3。

位運算子和賦值運算子

位運算只能對整數進行,可以是整數型變數也可以是被識別為整數型別的字面量。位運算是對該整數實際儲存的二進位制串的二進位制位進行操作,可以進行6種位運算 運算子作用 按位與 按位或 按位異或 按位取反 左移 右移位運算都不改變運算元本身的值,而是位運算表示式本身的值為進行位運算之後的值,例如 char ...

JS運算子 算術運算子 比較運算子 賦值運算子

兩邊的變數都是number型別 則是單純的加法運算 當字串出現時 結果是字串型別 字串之後的內容 不論什麼型別 都會被作為字串進行拼接 例子 var num1 10 var num2 20 num num1 num2 var result num1 num2 num1 false console.l...

Python運算子 賦值運算子

賦值運算子與算數運算子有這個密不可分的關係,可以理解成是算數運算子在某種特定情況下的一種簡寫賦值運算子 說明舉例 展開形式 對應算數運算子寫法 簡單賦值運算子 x y x y 加賦值 也讀加等於 x y x x y 加賦值 也讀減等於 x y x x y 乘賦值 也讀乘等於 x y x x y 除賦...