巨集定義與直接賦值有什麼區別,C語言中巨集定義的10和直接定義1有什麼區別

2021-03-04 01:05:50 字數 1277 閱讀 4796

1樓:匿名使用者

巨集定義 定義的是常量符號。

直接賦值,賦給的是變數符號。

2樓:匿名使用者

巨集定義是預處理是完成的,本質是字元替換

直接賦值是記憶體上的操作版,與執行時有關

權#include

#define iii int

int main(void)

想這個c語言**中,巨集定義iii,那麼它的下面就可以用iii來代表int,在編譯處理時把所有的iii(引號內容除外)都當成是int處理

c語言中巨集定義的1<<0 和直接定義1有什麼區別

3樓:匿名使用者

#define e1 1<<0

#define e2 1

e1+4 // 結果是16

e2+4 // 結果是5

至於是bug還是故意如此,在下就不知道了

4樓:金色潛鳥

巨集定義#define eot 1 << 0是規定在預編譯時,把 下面程式中 遇到的 詞 eot 用 字串 1 << 0 替代。

所以 不能 換成版 字元 1。

例如:權

#define eot 1 << 0

int x=1;

x = x + eot + 2;

printf("%#x ", x);

和#define eot 1

int x=1;

x = x + eot + 2;

printf("%#x ", x);

得到的結果 不同。前者 0x8, 後者 0x4--------

除非你已看過整個程式,你能確認 用 1 << 0 替代 和 用 1 替代 結果 一樣。

請問巨集定義與賦值有什麼區別?

5樓:匿名使用者

巨集不會為其分配內容空間,巨集會在編譯之前由前處理器在程式原始檔文字中進行替換,變數則會為其分配對應的空間,在執行時從記憶體中存取其值.

6樓:寒心殘夢

區別大了去了,抄

前者巨集定襲義標誌著在這著程式bai中pi的值無法改變;而du後者賦值則是可以在程式中zhi根據自己dao的需要給於適當的改變pi的值如:「pi=3.14;」,且這種改變是可行有效的,不像前者即使你在程式中改變pi的值也是無效的。

你可以試試!

7樓:匿名使用者

程式會在編譯階段把每一次碰到的pi都換成3.14

請問右移》與右移賦值》有什麼區別嗎

1全部有區別 我給你舉一個最簡單的例子 你就看出來了 a 2 跟 a 2 這兩個執行後 第一個a的值沒變,而第二個a 的值是 將a右移兩位後 再重新給a賦值,所以就有區別了 區別就在於 第二個是複合運算子,它裡面有個賦值的操作 有區別,就和 一樣,你可以 a b 5 但b的值沒有變,如果使用b 5,...

c語言中與有什麼區別,c語言中 和 有什麼區別

只能註釋單行,而 可以註釋多 行。只能註釋本行後面的內容,而 註釋中間包內括的所有內容,可以跨行。是行注容釋,後面的又會被認為是註釋,而 是塊註釋,在 中的內容都是註釋。塊註釋舉例如下 abcdefkgalsdjfajsdlfkjasl jldsjg lajdfl fasdgklasdjgl fad...

高等數學中,定義域與定義區間有什麼區別?

區間是一個範圍,定義域是有定義的點集,定義區間是其一部分比如y x 2,其定義域是實數域,1,1 是其一個定義區間另外一個特殊的例子 y 根號的x 2 x 1 其定義域為x 0與x 1的並集,x 1為其定義區間,x 0不屬於任何一個定義區間。兩者的區別在於 定義區間 只是一個範圍,表徵函式所定義的一...