C语言 全局变量和局部变量区别 - C语言零基础入门教程
生活随笔
收集整理的這篇文章主要介紹了
C语言 全局变量和局部变量区别 - C语言零基础入门教程
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
- 一.全局變量和局部變量簡介
- 1.全局變量簡介
- 2.局部變量簡介
- 二.全局變量和局部變量注意事項
- 三.猜你喜歡
零基礎 C/C++ 學習路線推薦 : C/C++ 學習目錄 >> C 語言基礎入門
一.全局變量和局部變量簡介
1.全局變量簡介
在所有函數外部定義的變量稱為全局變量(Global Variable),它的作用域默認是從定義變量的位置到本源文件結束都有效。
int a, b; //全局變量 void func1(){int c, d; //局部變量//TODO: }int main(){int e, f; //局部變量//TODO:return 0; }2.局部變量簡介
定義在函數內部的變量稱為局部變量(Local Variable),它的作用域僅限于函數內部, 離開該函數后就是無效的,再使用就會報錯。
int f1(int a){int b,c; //a,b,c僅在函數f1()內有效return a+b+c; } int main(){int m,n; //m,n僅在函數main()內有效return 0; }二.全局變量和局部變量注意事項
1.局部變量(Local Variable)也稱為內部變量,其作用域僅限于函數內, 離開該函數后再使用這種變量是非法的;
2.全局變量(Global Variable),它的作用域默認是從定義變量的位置到本源文件結束都有效,例如:
/******************************************************************************************/ //@Author:猿說編程 //@Blog(個人博客地址): www.codersrc.com //@File:C語言教程 - C語言 全局變量和局部變量區別 //@Time:2021/07/18 07:30 //@Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累! /******************************************************************************************/#include <stdio.h>void func1(){x += 10;y += 20;printf("函數:%s 中 x = %d y = %d \n",__FUNCTION__,x,y);}int x = 10; int y = 20;void func2(){x += 10;y += 20;printf("函數:%s 中 x = %d y = %d \n",__FUNCTION__,x,y);} int main(){func1();func2();printf("函數:%s 中 x = %d y = %d \n",__FUNCTION__,x,y);return 0; } /* 輸出:main.cpp: In function ‘void func1()’: main.cpp:6:5: error: ‘x’ was not declared in this scope6 | x += 10;| ^ main.cpp:7:2: error: ‘y’ was not declared in this scope7 | y += 20;| ^*/3.如果局部變量名字和全局變量名字相同,函數內部默認操作的是局部變量,舉個例子:
/******************************************************************************************/ //@Author:猿說編程 //@Blog(個人博客地址): www.codersrc.com //@File:C語言教程 - C語言 全局變量和局部變量區別 //@Time:2021/07/18 07:30 //@Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累! /******************************************************************************************/#include <stdio.h>int x = 10; //全局變量 int y = 20; //全局變量void func1(){int x = 8; //局部變量(與全局變量名字相同)y += 20; //全局變量printf("函數:%s 中 x = %d y = %d \n",__FUNCTION__,x,y);}void func2(){int x = 5; //局部變量(與全局變量名字相同)y += 20; //全局變量printf("函數:%s 中 x = %d y = %d \n",__FUNCTION__,x,y);} int main(){func1();func2();printf("函數:%s 中 x = %d y = %d \n",__FUNCTION__,x,y);return 0; }/* 輸出:函數:func1 中 x = 8 y = 40 函數:func2 中 x = 5 y = 60 函數:main 中 x = 10 y = 60 */三.猜你喜歡
未經允許不得轉載:猿說編程 ? C 語言 全局變量和局部變量區別
總結
以上是生活随笔為你收集整理的C语言 全局变量和局部变量区别 - C语言零基础入门教程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言 数组排序 – 插入法排序 - C
- 下一篇: 多线程join,强制执行完