原创 指針函數與函數指針(很簡單的記憶與區分)

1、指針函數 本質是一個函數,函數返回類型是某一類型的指針。  定義格式 :函數類型   *  函數名( 參數列表)                          例:  int   * func1 (x, y )    返回值爲 整

原创 樹和二叉樹之線索二叉樹(包括對前驅後繼的疑惑)

1 樹的概念 樹的結點:包含一個數據元素及若干指向其子樹的分支。 結點的度:結點擁有的子樹數目。(一個分支就是一個樹,二叉樹結點的度最多爲2,最少爲0) 葉子:度爲0的結點稱爲葉子。 樹的度:整個樹內出現的最大結點的度就是樹的度。 孩子:

原创 KMP算法中Next數組算法求解(2019.7.30本人學習KMP算法的心路歷程以及一些學習建議)

如果你僅僅是爲了搜索KMP算法,說明你可能還不瞭解KMP所以可以看看我推薦的2篇博客或者看看大話數據結構或者嚴蔚敏的數據結構這部分章節,然後Next數組算法爲什麼那麼寫卻看不懂,可以按照我下面的思路去學習,當然不一定適合每個人,我自己也

原创 deb包的製作(適合剛接觸deb的學者)

1、什麼是deb包,爲什麼需要 由於瞭解不全面所以不一定對,寫下來一方面方便自己看,另一方面希望可以給剛接觸的朋友一點幫助 1.1 在學校一般對deb包接觸會少一點,但是進入公司後可能就要用到,這到底是個什麼呢? (1)可以看看鳥哥的li

原创 一、二重指針傳參意義(函數體內malloc申請內存泄漏與變量引用的就近原則)

譚浩強C程序設計講到,如果想交換兩個變量a,b的值,我們會這麼做: func(int* a,int* b) { int temp; temp = *a; *a = *b; *b = *a; } func(

原创 ARM啓動過程之Uboot兩個階段具體工作(以S5PV210爲例)

1,S5PV210的啓動過程 (1)iROM:iROM(價格最貴)在0地址處,與CPU總線式連接,上電就會執行,和norflash類似。210啓動時會首先執行內部的固件代碼,三星公司出廠前內置的代碼段,稱爲BL0。BL0部分包括對SD卡、

原创 拷貝構造函數中的形參引用,初始化與賦值的區別

#include<iostream> using namespace std; class Test { public: Test(int d = 0);data(d) { cout <<"Create

原创 函數的可重入與不可重入內部內存分配方式(內存泄漏陷阱,在很多函數中都存在的問題)

如下3個函數中,localtime爲不可重入,localtime_r可重入,加const爲輸入型參數,不加const爲輸出型參數。 1、struct tm *localtime(const time_t *timep); 2、struct

原创 C++中的賦值函數

1、賦值函數寫法分析  Test& operator=(const Test &t) { if(this != &t) { data = t.data; } return *this; }

原创 C陷阱與缺陷(更新中,總結了全書中核心內容,讀者可以根據核心決定是否需要學習該書)

1、初值與初始化 該部分解釋到,我們在定義變量時最好作初始化操作,比如int a[N];定義數組時,N也被定義了,但是沒有初始化,編譯器不會報錯,後續代碼使用N時會陷入死循環。如果經常寫代碼,從經驗上也不會這樣定義,我一般會直接定義一個確

原创 fcntl函數功能與實際應用(linux下中斷實現、文件分別寫與接續寫)

fcntl函數功能與實際應用(linux下中斷實現、文件分別寫與接續寫) 原型:int fcntl(int fd, int cmd, ... /* arg */ ); 可以出現如下幾種參數使用: int fcntl(int fd, int

原创 makefile中g++ -o -c參數解釋

  CC = g++ SRCS = $(wildcard *.cpp) OBJS = $(patsubst %cpp, %o, $(SRCS)) LDFLAGS :=-lsqlite3 -lTR3A CFLAGS := -Wal

原创 學習linux系統需要培養的分析思路與實戰經驗(更新中……)

1、根據打印信息尋找錯誤並解決 (1)在linux下移植一個庫時,我們可能需要將庫交叉編譯,並使用庫提供的config文件或makefile生成需要的頭文件、動態庫、靜態庫,然後將其部署在系統裏面,有時候庫的makefile或腳本里面默認

原创 靜態加載驅動與insmod命令動態加載驅動

1、insmod動態加載驅動的作用 (1)此類載入的模塊,通常爲設備驅動程序。設備驅動裏面會使用到內核驅動,比如使用交叉編譯或官網下載的一個在linux系統下工作的設備驅動,因爲是針對linux系統而製作的,它知道內核支持的基本驅動,比如

原创 linux下常用命令與常用操作用法及解釋tftp/nfs(初學者必備,正在總結更新中……)

  1、環境變量      (1)打印環境變量:ehco  $PATH(目錄導出到環境變量後,裏面的文件才能跨文件執行)      (2)添加到環境變量(一般放在當前用戶的宿主目錄~/下的.bashrc文件裏):export PATH=/