1樓:匿名使用者
意思是賦值號左側的是隻能是變數,不能是表示式。
通過變數名來訪問變數,是一種「相對安全」的方式。因為只有你定義了它,你才能夠訪問相應的變數。這就是對記憶體的基本認知。
但是,如果光知道這一點的話,其實還是不知道記憶體是如何存放變數的,因為底層是如何工作的,依舊不清楚。
要繼續深究的話,就需要把變數在記憶體中真正的樣子是什麼搞清楚。記憶體的最小索引單元是1位元組,那麼你其實可以把記憶體比作一個超級大的「字元型陣列」。陣列是有下標的,我們是通過陣列名和下標來訪問陣列中的元素。
那麼記憶體也是一樣,只不過起了個新名字:地址。每個地址可以存放「1位元組」的資料,所以如果我們需要定義一個整型變數,就需要佔據4個記憶體單元。
其實在程式執行的過程中,完全不需要變數名的參與。變數名只是方便進行**的編寫和閱讀,只有程式設計師和編譯器知道這個東西的存在。
而編譯器還知道具體的變數名對應的「記憶體地址」,這個是我們不知道的,因此編譯器就像一個橋樑。當讀取某一個變數的時候,編譯器就會找到變數名所對應的地址,讀取對應的值。
2樓:渺雪峰
意思是賦值號左側的是隻能是變數,不能是表示式。
不能給常量賦值,不能給表示式賦值。
純手打,望採納、
i++是什麼意思
3樓:匿名使用者
i++和++i的意思分別是:
i++ :先引用i的值,後增加i的值;
++i :i的值先增加,後引用i的值
換句話就是:
i++ : 先在i所在的表示式中使用i的當前值,再讓i加1。
++i : 先讓i加1,再在i所在的表示式中使用i的新值。
無論i++還是++i,都可以讓i的值自增,但是對於引用它們的物件來說,意義卻是不同的,這主要取決於++和i的相對位置:
++在i前面,i先加1,然後在表示式中用i的值;++在i後面,先在表示式中用i的值,然後i再加1。
4樓:韓苗苗
++i 和 i++在單獨使用時起到的作用就是 i=i+1,即後一個值是前一個值加一。
++i是使用i之前先使i加一。i++是使用i之後再加一。如果不能理解,那麼可以理解為:++i是先計算,再操作,i++是先操作,再計算。
例如:a = ++i,相當於 i=i+1; a = i; a = i++,相當於 a = i; i=i+1;
擴充套件資料
「++」符號是程式語言中的自增運算子,作用是在執行後將變數的數值自動加一,「++」符號所處的位置不同,運算規則也不同,當「++」放在變數前方時,如 ++i,此時的作用是先將i變數中的數值進行加一運算,然後再將運算後的數值加入運算,而i++是先將i中的數值加入運算,然後再自加一。
i++的用法:
class yanshi}//輸出是 i = 3
class yanshi_01
}//輸出i=4,j=3
5樓:小小芝麻大大夢
"++"是c和c++裡的自增運算子。其中:
++i是使用i之前先使i加一。i++是使用i之後再加一。如果不能理解,那麼可以理解為:++i是先計算,再操作,i++是先操作,再計算。
i++ 等價於 i=i+1,i-- 等價於 i=i-1。
相似的++i 等價於 i=i+1,--i 等價於 i=i-1。
6樓:瘋飆單車
一直以來,++ --語法浪費了太多人的時間。說句實在話,++ -- 在c語言中其實是一個很細節的語法,除了表達簡練外,真的沒有什麼其它的好處了。
由於中國的c語言教程長期以來被譚浩強主宰,而譚又錯誤的把++ --作為一個c語言重點來教,並增加了一些難點,把本來很簡單的語法,搞得複雜無比!
簡單的來說,++i 和 i++,在單獨使用時,就是 i=i+1。
而 a = ++i,相當於 i=i+1; a = i;
而 a = i++,相當於 a = i; i=i+1;
如果實在搞不明白++ --怎麼回事,那也不是什麼天塌下來的事。
因為a=++i完全可以寫成 i++; a=i。
a=i++完全可以寫成 a=i; i++。
而且,這也是一種好的程式風格:++ -- 語句如非特殊需要,請單獨一行使用。
7樓:匿名使用者
i++就是相當於i=i+1他這個兩個公式是相等也就是簡寫方法
8樓:匿名使用者
樓上的差矣,語法沒錯,但是:
i++ ++i 在程式設計實際當中確實沒有那麼複雜,因為你搞不清的時候最簡單的應對方法就是:不用。譚書上那些教條的難點確實沒有什麼實際意義。但是這個運算子是很重要的。
同樣是讓 i 加 1。
i++ 的執行效率要遠高於 i += 1,i += 1 也要高於 i = i + 1。
編譯器在編譯的時候,它會被優化的。這很重要。
9樓:
i++是自加運算
等同於i=i+1
區別在於, 這樣的語句:i=0;s=i++;
自加運算會先進行,然後執行其他運算, 結果就是s=1,i=1;
還有一種自加運算: ++i
這種事先進行其他運算,然後進行自加
同樣是剛才的語句,稍作改動: i=0;s=++i;
執行過後結果是 s=0;i=1;
10樓:匿名使用者
i++是執行過i以後i+1,++i是執行i以前i+1,就這麼簡單,另外i++比i+=i或i=i+1寫起來也省事呀:)
c語言題whilee中表示式e等價於a
while 語句中的邏輯表copy達式成真才執bai行。是反的意思du,後面的邏輯表示式應zhi該是假的,所以e應為dao假,c中表示式是0才是假,所以e 0.a 是對的。b e 0 與題中要求e 0矛盾 c e 1 與題中要求e 0矛盾 d e 1 e 0時也對,但其它不是1的數都對,與題中要求只...
C語言環境中,表示式9883198a的值為
a 的ascii碼值為97,所以98 a 1,那麼 連線起來的所有值都為真,所有結果為真,也就是為1 這是c語言中的與運算,98 a 1,所以98 8 31 98 a 的值為1 c語言只要數值不為0就是真 那麼 你這裡的答案是 1 答案是1,c語言中 98 8 31 55是什麼意思,其值為多少?等價...
c語言中for迴圈中裡的表示式分別省略
for 單次表示式 條件表示式 末尾迴圈體 其中,表示式可以省略,但是分號不可省略。for迴圈是開界的。它的一般形式為 for 條件表示式 語句 初始化總是一個賦值語句,它用來給迴圈控制變數賦初值 條件表示式是一個關係表示式,它決定什麼時候退出迴圈 增量定義迴圈控制變數每迴圈一次後 按什麼方式變化。...