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