乙個好的程式首先要有好的程式結構,我從變數和結構兩個方面來做分析。
一、**程式中的變數
乙個程式架構最基本的就是程式變數,談到程式中的變數,我們應該考慮兩部分,一方面是變數的作用域,一方面是變數的生存期。
我們就從這兩個角度對變數進行分析:
(1)全域性變數
全域性變數的宣告要放在主函式之前,它的作用域是整個程式全域性,生存期是程式整個週期。
(2)區域性變數
區域性變數是在某個區域性宣告的變數,它的作用域為特定區域,例如函式體內宣告的變數作用域在函式體內,
函式體執行完成則完成。如果變數宣告在乙個for語句裡面,則他作用的區域也就是這個for語句。同樣生命
週期也之在特定區域。
(3)靜態區域性變數
static 靜態區域性變數所宣告的變數作用域是某個特定函式體,但是其生命週期是整個程式的生命週期。
舉個例子來看
#include int value = 0;//全域性變數
void fun();
void fun1();
int main()
void fun()
void fun1()
二、程式結構分析
大的程式一般都要進行模組化程式設計
每個模組都對應著標頭檔案和原始檔
原始檔的內容是程式的主題部分,函式的內容
標頭檔案的內容是程式的解釋說明,包括全域性變數的宣告和所有對外公開函式的宣告
(1)標頭檔案
1、標頭檔案包含問題
#include "" 與 #include < >
""是先在當前目錄下尋找此檔案,如果沒有再去系統設定的目錄下尋找,一般自己寫的檔案就用""
<>是直接去系統設定的目錄下尋找檔案,一般都是系統提供的檔案用<>
要注意防重複包含
所以需要在每個標頭檔案作如下編寫
(標準標頭檔案結構)
#ifndef _max_h_
#define _max_h_
//程式區
#endif
2、標頭檔案中的變數要想被外部呼叫應該用extern
extern int i;
注意:宣告與定義的區別
定義乙個變數,定義乙個函式是在程式中要產生**的。
而宣告在程式中是不生成**的,因為宣告只是告訴編譯器我有這個東西,讓編譯器記住。
例如在主函式之前我們都要有函式的宣告,而函式體則在主函式之後定義。
(2)原始檔
包含函式的解釋(源**)
posted @
2016-01-30 17:08
#cloud 閱讀(
...)
編輯收藏
C語言之程式結構
乙個好的程式首先要有好的程式結構,我從變數和結構兩個方面來做分析。一 程式中的變數 乙個程式架構最基本的就是程式變數,談到程式中的變數,我們應該考慮兩部分,一方面是變數的作用域,一方面是變數的生存期。我們就從這兩個角度對變數進行分析 1 全域性變數 全域性變數的宣告要放在主函式之前,它的作用域是整個...
C語言程式結構
接下來就是逐條分析 1 在預處理指令中主要需要注意的是 include和 include stdio.h 是有區別的,籠統的說就是被包含與包含的關係。2 主函式注意定義型別,定義型別與最後的return對應,用於接收return的值 例如 include stdio.h int main 這裡的in...
c語言程式結構
1.順序結構 順序控制結構的一般形式如下 2.選擇結構 if語句 一般形式為 if 表示式 語句 其功能是如果表示式的值為真,則執行後面語句的相應操作,反之,如果表示式的值為假,則不會執行後面語句的相應程式。注意if語句後面不需要加分號。注意 if a if a 0 這兩種 的判斷中都有a變數,a值...