原创 進程間通信(上)
進程間通信的方式:命名管道和匿名管道、消息隊列、信號量、共享內存等這幾種方式,下面我們對其進行一一解讀。 linux下進程間通信的幾種主要手段簡介: 1、管道(Pipe)及有名管道(named pipe):管道可用於具有親
原创 C++中傳值、傳址與傳引用的區別
1、參數傳遞的概念 所謂參數傳遞就是用函數調用所給出的實參(實際參數)向函數定義所給出的形參(形式參數)設置初始值的過程。 在c++中,調用函數時有三種參數傳遞方式,分別爲: (1)傳值調用; (2)傳址調用(即是傳指針); (3)傳引
原创 關於C++中的繼承
繼承性是面向對象程序設計的最重要的特性,可以這麼說,如果沒有掌握繼承性,就等於沒有掌握類和對象的精華,所以很好的掌握繼承性是我們學好C++的基礎,下面我們對它進行一一介紹。 繼承是面向對象複用的重要手段。通過繼承定義一個類
原创 單鏈表的相關面試題
一、比較順序表與鏈表的優缺點: 單鏈表:它是一種鏈式存儲的線性表,用一組地址任意的存儲單元存放線性的的數據元素,稱存儲單元爲一個節點。 順序表:採用順序存儲結構的線性表通常稱爲順序表。 線性表的順序存儲結構:指用一組地址連續的存儲單元依
原创 單鏈表常見面試題
一、比較順序表與鏈表的優缺點:單鏈表:它是一種鏈式存儲的線性表,用一組地址任意的存儲單元存放線性的的數據元素,稱存儲單元爲一個節點。順序表:採用順序存儲結構的線性表通常稱爲順序表。線性表的順序存儲結構:指用一組地址連續的存儲單元依次存儲線
原创 assert與if的區別
assert還是if
原创 動態內存管理
C語言動態內存管理C語言使用malloc/calloc/realloc/free進行動態內存管理。void Test (){ int* p1 = (int*) malloc (sizeof (int)*4); free(p
原创 博客搬家
將博客搬家到CSDN 點贊 1 收藏 分享
原创 搜索二叉樹的增刪查改
首先我簡單介紹一下搜索二叉樹的概念及有關性質,純屬個人觀點,如有錯誤,歡迎不吝賜教。 1、搜索二叉樹的概念:根結點的左子樹都小於它,它的右子樹都大於它,且它的左子樹與右子樹都是搜素二叉樹。 2、二叉搜索樹(搜索二叉樹):搜索二叉樹
原创 時間複雜度和空間複雜度
1、時間複雜度 所謂時間複雜度實際上就是函數,既是函數計算執行的基本操作次數。ps:這裏的函數是指數學裏面的函數,而不是C語法裏的函數。 如下面這個代碼: void Test1 ( int N ) {
原创 面試常考題:不調用庫函數,怎樣實現字符串操作函數?
一:字符串操作函數的功能及應用 1、strcpy()函數 Strcpy(字符數組1,字符數組2)此函數是字符串拷貝函數,它的作用是將字符串2複製到字符數組1中去。 #include<stdio.h> #include<stdl
原创 C++的特性——繼承
繼承性是面向對象程序設計的最重要的特性,可以這麼說,如果沒有掌握繼承性,就等於沒有掌握類和對象的精華,所以很好的掌握繼承性是我們學好C++的基礎,下面我們對它進行一一介紹。 繼承是面向對象複用的重要手段。通過繼承定義一個類,它們的類
原创 C++關於模板
假設現在要實現一個比較兩個數是否相等的重載函數。1、兩個int類型的操作數比較bool IsEqual (int left, int right){ return left == right;}2、兩個string類型的操作
原创 Linux中的task_struct結構體
我們都知道,在廣義上,所有的進程信息都被放在一個叫做進程控制塊的數據結構中,這個可以理解爲進程屬性的集合。這裏的進程控制塊也就是所謂的PCB,他是一個非常大的數據結構,那麼它到底有多大呢?如果沒什麼意外,這個結構體可能是這
原创 用兩個棧實現一個隊列
用兩個棧實現一個隊列 1、線性表分爲:順序表和鏈表。 棧:只允許在尾上(即是棧頂)進行插入與刪除。 隊列:它是在隊尾插入,隊頭刪除。 2、棧選數組(即順序表)結構時(比選鏈表結構更好):因