C 程式的結構

2022-02-04 18:38:59 字數 1730 閱讀 7117

1、作用域和可見性

1.1 函式原型中的引數其作用域僅在()內。因此引數名稱可有可無,但是引數型別需要宣告。

1.2 塊作用域 在塊中宣告的識別符號其作用域自宣告處起,限於塊中。

1.3 類作用域 類作用域作用於特定的成員名。如類x的成員m具有類作用域,對m的訪問方式如下:

如果在x的成員函式中沒有宣告同名的區域性作用識別符號,那麼該函式內可以訪問成員m; 

通過表示式x.m或者x::m以及prt->m訪問。

1.4 在所有類和函式之外出現的宣告,具有檔案作用域,開始於宣告處,結束於檔案結尾。

2、可見性可見性是從對識別符號的引用的角度來說的,表示從內層作用域往外層作用域看的時候能看見什麼  

作用域: 檔案作用域》類作用域》塊作用域

2.1 識別符號宣告在前引用在後,如果某個識別符號宣告在外層,且在內層沒有與之同名的識別符號,則該識別符號在內層可見;

2.2 對於兩個巢狀的作用域,如果在內層作用域內宣告了與外層作用域中同名的識別符號,則外層作用域的識別符號在內層不可見,也就是在內層被遮蔽。

#include using namespace std;

int i; //全域性變數,檔案作用域

int main()

void fun()//靜態生存期物件a.第一次被呼叫a=1,i=5,運算之後a=2,i=6,第二次被呼叫時,由於a具有靜態生存期,a的值保持不變,為2,具有動態生存期的i已經被釋放,運算之後a=3,i=6。

private: //私有資料成員

int hour,minute,second;

};//時鐘類成員函式實現

clock::clock() //建構函式

void clock::settime(int newh, int newm, int news)

void clock::showtime()

void g();;

;void a::f(a a)

point(point &p);//拷貝建構函式

int getx()

int gety()

static void getc()

int getx()

int gety()

friend float distance(point &a, point &b); //友元函式

private: //私有資料成員

int x,y;

};double distance( point& a, point& b)

int main()

void print();

void print() const;//print函式的過載

private:

int r1,r2;

};void r::print()

;const int a::b=10; //靜態常資料成員在類外說明和初始化

a::a(int i):a(i),r(a) //常資料成員只能通過初始化列表來獲得初值

void a::print()

#include "head.h"

…#include "head.h"……

class point

使用條件編譯的標頭檔案

#ifndef head_h

#define head_h

…class point

…#endif

c 結束程式 c 程式的結構

學習程式語言的最好方法是編寫程式。通常,初學者編寫的第乙個程式是乙個名為 你好世界 的程式,它只需在你的電腦螢幕上列印 你好世界 雖然很簡單,但它包含了c 程式的所有基本元件 my first program in c include int main hello world 上面的上面板顯示了這個...

C程式的結構

c 程式主要包括以下部分 1 預處理指令 2 主函式 3 主函式體 4 注釋 說明文字 示例 book0.c 接下來我們講解一下上面這段程式。1 以上是程式開始的說明文字,程式編譯時將忽略它。用於注釋多行文字,是開始,是結束。用於注釋一行文字。注釋的目的是為了提高程式的可讀性,是給程式設計師看的,不...

C 程式的記憶體結構

問題引出 在看一些資料部落格的時候說執行緒共享同乙個程序的 段和資料段,又有說法是 段和資料段在可執行檔案中載入,比較疑惑,下面稍微具體的整理一下。int a 0 全域性初始化區 char p1 全域性未初始化區 main int b 棧 char s abc 棧 char p2 棧 char p3...