1. 程式人生 > >C語言/C++編程新手入門基礎學習中鏈接類型

C語言/C++編程新手入門基礎學習中鏈接類型

視頻 我們 區別 貨源 strong 信息 數據結構 互調 inter

C語言是面向過程的,而C++是面向對象的

C和C++的區別:

C是一個結構化語言,它的重點在於算法和數據結構。C程序的設計首要考慮的是如何通過一個過程,對輸入(或環境條件)進行運算處理得到輸出(或實現過程(事務)控制)。
創一個小群,供大家學習交流聊天
如果有對學C++方面有什麽疑惑問題的,或者有什麽想說的想聊的大家可以一起交流學習一起進步呀。
也希望大家對學C++能夠持之以恒
C++愛好群,
如果你想要學好C++最好加入一個組織,這樣大家學習的話就比較方便,還能夠共同交流和分享資料,給你推薦一個學習的組織:快樂學習C++組織 可以點擊組織二字,可以直達

技術分享圖片
C++,首要考慮的是如何構造一個對象模型,讓這個模型能夠契合與之對應的問題域,這樣就可以通過獲取對象的狀態信息得到輸出或實現過程(事務)控制。 所以C與C++的最大區別在於它們的用於解決問題的思想方法不一樣。之所以說C++比C更先進,是因為“ 設計這個概念已經被融入到C++之中 ”。

C與C++的最大區別:在於它們的用於解決問題的思想方法不一樣。之所以說C++比C更先進,是因為“ 設計這個概念已經被融入到C++之中 ”,而就語言本身而言,在C中更多的是算法的概念。那麽是不是C就不重要了,錯!算法是程序設計的基礎,好的設計如果沒有好的算法,一樣不行。而且,“C加上好的設計”也能寫出非常好的東西。

C語言/C++編程新手入門基礎學習中鏈接類型

什麽叫鏈接屬性,

在C語言的編譯過程中有一個步驟叫做鏈接,鏈接的作用就是將外部的函數庫通過鏈接形式,變成二進制的可執行文件,那麽,就是不同文件之間的關系。而這裏的鏈接其中的一個含義就是函數或者變量在不同文件中是怎麽相互調用的;

下面講一下C語言中幾種鏈接類型:

外部鏈接External,對應的關鍵字為extern 內部鏈接Internal,對應的關鍵字為static None,對應的關鍵字為auto

外部鏈接extern

允許外部文件調用非本文件的函數或者變量,或者在本文件中,函數執行在定義之前的時候,使用extern進行提前聲明的話,編譯時候不會報錯———–>類似java中的public

內部鏈接static

用static修飾的變量或者函數的鏈接屬性為其作用領域只能僅限在本文件中 ,在其他文件中就不能進行調用,不同文件中的內部函數是不會相互幹擾的——–>類似java中的private

None

使用auto進行定義的變量,其作用域僅限在當前的函數中,誇函數則不能夠進行調用

External代碼使用

/**

*extern1使用

*/

#include

int main(void){

extern int a,b;//定義在使用之前,那麽這個時候需要用extern來修飾。表示鏈接

printf(‘‘plus:%d ‘‘,a,b);

return 0;

}

int a = 10,b = 20;

/**

*extern2使用

*/

頭文件

#ifndefine __EXTERNAL_DEMOH

#define __EXTERNAL_DEMO_H

//在頭文件聲明的時候用extern來修飾

external int add(int a,int b);

#endif

實現文件external_demo.c

#include ‘‘external_h.h‘‘

//在文件內部進行使用,外部文件不能訪問

static int num = 20;

//用於外部文件調用,用extern來修飾

extern int add(int a, int b){

return a+b;

}

C語言/C++編程新手入門基礎學習中鏈接類型

測試文件:

#include

int main(void){

int a = 20;

int b = 30;

printf(‘‘plus:%d ‘‘add(a,b));

return 0;

}

Internal鏈接屬性

頭文件

#ifndef __STATIC_DEMOH

#define __STATIC_DEMOH

int add(int a, int b);

#endif

#include ‘‘staticDemo.h‘‘

#include

//靜態static修飾的函數聲明,只能在staticDemo中去使用

static void out_result(int);

//靜態static修飾的變量,只能在本文件中使用,外部文件無法訪問

static int num = 50;

//缺省默認是extern修飾的,外部是可以進行訪問的

int add(int a,int b){

int plus = a + b;

out_result(plus);

return plus;

}

static void out_result(int result){

printf(‘‘out_result:%d ‘‘,result);

}

#include

#include‘‘staticDemo.h‘‘

int main(void){

int num1 = 10;

int num2 = 20;

add(num1,num2);

return 0;

}

C語言/C++編程新手入門基礎學習中鏈接類型
技術分享圖片

總結一下:

用extern來修飾的函數或者變量,外部文件可以調用或訪問。

用static修飾的函數,只能在本文件內部進行使用,外部不能訪問

使用auto修飾的變量只能本函數內部進行使用,外部不能調用或者訪問,修飾函數默認缺省的時候外部文件是可以進行訪問調用的、

鏈接屬性的理解對於我們後面將項目分成很多模塊是很有幫助的,每個模塊之間都是通過鏈接形式,形成一個大的文件,什麽允許外部訪問,什麽不允許外部進行訪問,作為一個程序猿來說,是要有一定辨別能力的

這些是C/C++能做的

服務器開發工程師、人工智能、雲計算工程師、信息安全(***反***)、大數據 、數據平臺、嵌入式工程師、流媒體服務器、數據控解、圖像處理、音頻視頻開發工程師、遊戲服務器、分布式系統、遊戲輔助等其實做為一個開發者,有一個學習的氛圍跟一個交流圈子特別重要這裏我要推薦c++交流群:“648778840”,不管你是小白還是大牛歡迎入住,大家一起交流成長。小編會在群中不定期分享幹貨源碼,包括我精心整理的一份c++零基礎教程。歡迎各位感興趣的的小夥伴。

學習思路:

C語言/C++編程新手入門基礎學習中鏈接類型
學習資料:

C語言/C++編程新手入門基礎學習中鏈接類型

C語言/C++編程新手入門基礎學習中鏈接類型