C語言之程式結構

2021-09-19 03:03:46 字數 1467 閱讀 9523

乙個好的程式首先要有好的程式結構,我從變數和結構兩個方面來做分析。

一、**程式中的變數

乙個程式架構最基本的就是程式變數,談到程式中的變數,我們應該考慮兩部分,一方面是變數的作用域,一方面是變數的生存期。

我們就從這兩個角度對變數進行分析:

(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值...