原创 C/C++ 內存管理(malloc/calloc/realloc、free 和 new 、 delete區別;內存泄漏)

C/C++內存分佈 int globalVar = 1; static int staticGlobalVar = 1; //globalVar和staticGlobalVar是在main函數之前初始化,在哪都能用,作用域是全局的

原创 C++類和對象(static成員、友元、內部類、C++11 的成員初始化)

static成員 聲明爲static的類成員稱爲類的靜態成員,用static修飾的成員變量,稱之爲靜態成員變量;用static修飾的成員函數,稱之爲靜態成員函數。靜態的成員變量一定要在類外進行初始化。 靜態成員爲所有類對象所共享

原创 網絡編程(網絡基礎、套接字編程、高級IO)

網絡基礎1 網絡的劃分 局域網(覆蓋範圍在1000m內) 城域網(覆蓋範圍在20㎞內) 廣域網(覆蓋範圍大於20km),(互聯網 / 因特網是更大的國際性的廣域網- - - 容災性更強,以太網 / 令牌環網 是組網方式) IP

原创 C++基礎(入門)缺省參數、函數重載、引用、內聯函數

命名空間 命名空間定義 定義命名空間,需要使用到namespace關鍵字,後面跟命名空間的名字,然後接一對{}即可,{}中即爲命名空間的成員。 一個命名空間就定義了一個新的作用域,命名空間中的所有內容都侷限於該命名空間中。 //1

原创 多線程(線程概念、線程控制、線程安全、線程基本應用)

多線程 線程概念 線程控制 線程安全 線程基本應用 線程概念 功能:進行多任務處理 一個進程能夠完成任務的處理,通過pcb的描述,完成對程序的調度處理。 多任務處理: 多創建幾個進程,一個進程就有一個pcb,能夠串行化的完成

原创 進程間通信

進程間通信(IPC) 爲什麼操作系統要爲用戶提供進程間通信方式? 答:因爲進程的獨立性。每個進程都有自己的獨立虛擬地址空間,操作的都是自己的地址,所以進程之間無法直接進行通信。 進程間通信方式 從Unix借鑑的:管道- -

原创 QT基礎

對QT文件中的.pro文件解釋 QT += core gui //QT包含的模塊 QT中的快捷鍵 -註釋:ctr+/ 運行:ctrl+r 編譯:ctrl+b 查找:ctrl+f 整行移動:ctr

原创 進程(三)----(進程創建、進程終止、進程等待、進程替換)

進程控制 1、進程創建 pid_t fork(void);- - - - -創建一個進程(父子進程數據獨有,代碼共享) 寫時拷貝技術(提高進程創建效率):子進程複製了父進程,一開始與父進程指向同一塊物理內存;因此看起來父子進程完

原创 翻轉單詞(字符串)

翻轉單詞 翻轉單詞有兩種常見的方式: 1、藉助一個臨時字符數組; 思路:(1)、藉助一個臨時字符數組將元字符數組的內容按相反的順序存儲在臨時字符中; (2)、將臨時數組的內容順序複製回原數組中。 代碼: #include<s

原创 進程(二)----環境變量、地址空間訪問

進程優先級:一個進程對與CPU資源獲取的優先權 爲什麼要有優先級?(讓操作系統運行的更加良好) 交互式進程:直接與用戶進行交互的進程,(要求最好能夠更加有限的被CPU處理)。 批處理進程:在後臺默默做循環工作的進程。 環境變量:配

原创 力扣(二叉樹、C語言)單值二叉樹、二叉樹的深度、對稱二叉樹

1、單值二叉樹 力扣965題:單值二叉樹 題目:如果二叉樹每個節點都具有相同的值,那麼該二叉樹就是單值二叉樹。只有給定的樹是單值二叉樹時,才返回 true;否則返回 false。 分析:1、判斷樹的根節點是否爲空,爲空則爲單值二

原创 力扣572題,另一個樹的子樹;力扣100題,相同的樹。

1、另一樹的子樹: 力扣572題:另一樹的子樹 題目: 給定兩個非空二叉樹 s 和 t,檢驗 s 中是否包含和 t 具有相同結構和節點值的子樹。s 的一個子樹包括 s 的一個節點和這個節點的所有子孫。s 也可以看做它自身的一棵子樹。 示

原创 C語言練習(輸出圖形 輸出矩陣元素之和)

題1.打印圖形。按輸入的邊長,打印一個正方形。其偶數行(從0行開始計算)填充=,奇數填充+,例如輸入爲1, 則打印: = 如果輸入5, 則打印: #include<stdio.h> #include<stdlib.h> void

原创 (C++入門)通訊錄管理系統

一、顯示聯繫人 1、添加完聯繫人後爲了讓目錄不用一直刷屏顯示,只需要將上次的結果顯示後清屏即可; system(“cls”);//清屏操作 爲了使得顯示界面不佔這麼多行,採用 “\t” 代替 endl;

原创 力扣206題(C語言)反轉鏈表

反轉一個單鏈表 代碼: /** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode