C语言中定义变量位置
生活随笔
收集整理的這篇文章主要介紹了
C语言中定义变量位置
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
C標準的問題
C89規定,在任何執行語句之前,在塊的開頭聲明所有局部變量。
即應該如下:定義變量只能在最開始,scanf等執行語句之前
在C99以及C++中則沒有這個限制,即在首次使用之前,可在塊的任何位置都可以聲明變量。
如下:
另一方面,編譯器不同也不同,gcc編譯器有很多擴展的功能,可完美支持C99標準。
關于變量的定義:
以花括號{}給包圍起來的代碼段稱為block,只要在block開始的地方定義變量就不會錯;
變量作用域和生存期:
該變量的作用域和生存期(除了static限定)只在該block里,且該變量可以屏蔽block外的變量;
譬如在block外已經有一個變量名為a = 1的int變量,在block里允許定義一個同名的變量int a = 2,但在block里試著用printf打印的話,會發現printf("%d", a)結果是2.這就叫做屏蔽外面的變量!
本文為摘抄筆記,原創請查看
https://wenku.baidu.com/view/d3adc6d03186bceb19e8bb6a.html
總結
以上是生活随笔為你收集整理的C语言中定义变量位置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 楚乔传宇文玥得知母亲死因真相 三房太夫人
- 下一篇: 数组部分笔记