C語言學習

2021-06-13 12:30:06 字數 1500 閱讀 1908

c語言學習

2013/3/26

1、編寫strcat(s, t)函式,功能:將t指向的字串複製到s指向的字串的尾部。

程式設計思路:(1)通過while迴圈找到字串s的結束符。

(2)從找到的結束符開始將t複製到s,同時移動二者的指標。

2、編寫函式strend(s, t)。如果字串t出現在字串s的尾部,該函式返回1;否則返回0.

程式設計思路:(1)找到s和t的末尾(結束符);

(2)對最後乙個字元進行比較,然後向頭部移動;

(3)若任意乙個字串到達頭部,退出比較,判斷兩者首部,以及字串是否為空。

在編寫字串輸入輸出時,直接運用printf(「%s」,x),scanf(「%s」,&x),就不用迴圈了。

char* function()屬於指標函式,它的返回型別為指標;

char (*function)()是函式指標,即指向函式的指標。

2013/4/6

1、c語言中4種基本資料型別:整形,浮點型,指標,聚合型別(陣列和結構)。

2、字元常量是用單引號包圍起來的單個字元,eg:』m』

3、字串常量是是用一對雙引號包圍起來的一串字元,通常儲存與字元陣列中。字串常量的直接值是乙個指標,因此不能直接賦值給字元陣列。

4、使用const宣告常量,eg: int  const  a;   or   const  int  a;

涉及指標變數的例子:

int  const   *pci;  乙個指向整型常量的指標,可以修改指標值,不可修改它指向的值

int  *const  cpi;   乙個指向整型的常量指標,指標是常量,無法修改。

int  const  *const cpci;  無論指標本身還是它指向的值都是常量。

5、鏈結屬性

(1)internal(內部),屬於internal的識別符號在同乙個原始檔內的所有宣告中都指同乙個實體,,但位於不同原始檔的多個宣告則屬於不同實體,即只能被原始檔訪問。

(2)external(外部),該屬性的識別符號不論宣告多少次,位於幾個原始檔都表示同一實體。即可以被其他原始檔訪問。

static只對預設屬性為external的宣告才有改變鏈結屬性的效果。如果某個宣告在預設屬性下為external(函式定義或**塊外部的變數宣告),在前面加上static可使它鏈結屬性為internal。

(3)extern一般為識別符號指定external鏈結屬性,當它用於識別符號2次及以後的宣告,它不會更改第一次宣告指定的鏈結屬性。如果乙個變數宣告位於**塊內部,在前面新增  extern將使它引用的是全域性變數。

6、儲存型別

(1)三個地方儲存變數:普通記憶體,執行時堆疊,暫存器。分別對應於靜態變數,自動變數和暫存器變數。

(2)static用法小結:a、當用於函式定義或**塊外部的變數宣告時,修改識別符號的鏈結屬性,從external改為internal。不改儲存型別和作用域。

b、當用於**塊內部變數宣告時,修改了變數的儲存型別,從自動變數修改為靜態變數,鏈結屬性和作用域不受影響。

c語言學習

今天總結一些c 語言方面的知識 變數的概念 其值在作用域內可以改變的量稱為變數。乙個變數應該有乙個名字,並在記憶體中佔據一定儲存空間。區域性變數和全域性變數 區域性變數是在函式內作定義說明的,其作用域僅限函式內,離開該函式再使用這種變數是非法的。全域性變數也稱為外部變數,是在函式外部定義的變數,它不...

c語言學習

計算機工作基本原理 現代計算機可分為幾個部件 cpu 處理單元 擔負著絕大部分的計算工作。ram 隨機訪問儲存器 作為乙個工作區來儲存程式和檔案。硬碟 永久儲存器 即使在計算機關機時也能記下程式和檔案。以及各種外圍裝置 如鍵盤,滑鼠和監視器 用來提供人與計算器之間的通訊。cpu工作過程 從記憶體中獲...

C語言學習

程式的編譯和程式的執行是兩個完全不同的過程。程式的編譯過程是按照源 的文字順序一句一句進行編譯的,而程式的執行和過程則是按照語法規則和邏輯關係進行的。乙個程式的編寫首先得先通過編譯器的編譯。編譯器在編譯變數的時候是不對變數進行賦值的,變數的賦值是在程式的執行時被賦值的。例如下面的 就不能通過編譯 c...