全域性變數無法賦值

2022-02-15 23:29:29 字數 808 閱讀 7920

1樓:智慧城市知識體系

num3只是形參,只是在函式呼叫中讀取了全域性變數l的值,其是一個獨立的變數,有著獨立的儲存單元。num3的改變和 l 是沒有什麼關係的

2樓:戈壁與清潭

請好好看看形參和實參的那一節

num3只是形參,只是在函式呼叫中讀取了全域性變數l的值,其是一個獨立的變數,有著獨立的儲存單元。num3的改變和 l 是沒有什麼關係的

就像你是l ,num3是張三

你在紙上寫了 個 0;

張三也在他的紙上寫了個 0;然後張三改了一下他寫的0為3,你的紙上還是0

3樓:黃理

num3 = k = num1 + num2; 這個句子是不行的,請注意。

4樓:匿名使用者

int add(int num1, int num2, int num3)//這裡的三個引數,就是傳說中的形參,形參可視作區域性變數,區域性變數的值變化,只在本函式體內生效,函式結束後,就不存在了!

printf("%d\n",add(i, j, l)); //這裡的i,j,k就是傳說中的實參,他們傳遞到子函式中,只是將變數中的值傳遞了過去,變數,你可以認為是個容器(就是記憶體中的一個空間),c語言中,所有的資料都是存在這種容器中的,在變數作為引數傳遞時,只是將容器中的資料傳遞了過去,而容器還是在這裡,子函式中的形參是個新的容器,與之不相關,所以,子函式中的資料變化就與主函式不相關了。

5樓:

num3 = k = num1 + num2;

這是錯誤的語法

全域性變數和靜態全域性變數的區別,靜態全域性變數和全域性變數有什麼區別

全域性變數 外部變數 的說明之前再冠以static 就構成了靜態的全域性變數。全域性變數本身就是靜態儲存方式,靜態全域性變數當然也是靜態儲存方式。這兩者在儲存方式上並無不同。這兩者的區別雖在於非靜態全域性變數的作用域是整個源程式,當一個源程式由多個原始檔組成時,非靜態的全域性變數在各個原始檔中都是有...

python全域性變數python全域性變數

你直接定義的localvar是個全域性變數 而test 這個函式中會定義 或重繫結 全域性變數localvar為6。可以這樣理解 函式是一個盒子,所有函式體裡定義的變數都只能在盒子裡存在。但是global關鍵字讓函式可以定義能拿到盒子外的變數 所以,如果變數名字相同,後來的賦值操作就會覆蓋之前的值,...

靜態區域性變數和普通全域性變數以及靜態全域性變數的區別

靜態區域性變數和普通全域性變數以及靜態全集變數在編譯時,編譯器會自動給他回們分配地址。而且是從答mcu上電執行開始,一直駐留,不會被 的。而真正的區別在於他們的作用域。靜態區域性變數的作用域是在於定義它的那個函式內。由於其在編譯時編譯器就給他們分配了地址,並且做了初始化,所以它只能被初始化一次,而且...