原创 將數組A中的內容和數組B中的內容進行交換。(數組一樣大)

假設這是一個整形數組,只需定義一個第三變量進行交換即可。 代碼如下: #include<stdio.h> #include<stdlib.h> void print(int arr[], int sz)//輸出數組元素 {

原创 模擬實現 隊列

先介紹一下隊列: 隊列(queue)在計算機科學中,是一種先進先出的線性表。 它只允許在表的前端(front)進行刪除操作,而在表的後端(rear)進行插入操作。進行插入操作的端稱爲隊尾,進行刪除操作的端稱爲

原创 ffmpeg安裝

https://blog.csdn.net/evsqiezi/article/details/52396986     安裝 http://blog.sina.com.cn/s/blog_61bc01360102w815.html   

原创 斐波那契數列

考點: 注意返回值爲 long long 型,高效率 1  遞歸 缺點:耗費時間,爲什麼耗費時間? 要重複計算一個值多次,並且多次調用函數需要 開闢自己的棧幀空間 時間複雜度:O(fib(n)) 空間複雜度:O(n) long lon

原创 利用core文件對多線程和多進程進行調試

1.core文件的簡單介紹 在一個程序崩潰時,他一般會在指定目錄下生成一個core文件。core文件僅僅是一個內存映像(同時加上調試信息),只是用來調試的。 2.開啓或關閉core文件的生成 先使用ulimit -l 查看cor

原创 寫一個函數判斷機子大小端的問題

小端機就是存放數據時, 數據的低位存在低地址,高位存在高地址 大端機就是存放數據時, 數據的低位存在高地址,高位存在低地址 代碼如下: #include<stdio.h> #include<stdlib.h> void port

原创 常見的路由表生成算法

一、路由表 所謂路由表,指的是路由器或者其他互聯網網絡設備上存儲的表,該表中存有到達特定網絡終端的路徑,在某些情況下,還有一些與這些路徑相關的度量。 在計算機網絡中,路由表或稱路由擇域信息庫(RIB)是一個存儲在路由器或者聯網計算機中的

原创 多進程、多線程服務器

本篇博客將介紹基於IPv4的socket網絡編程。 一、socket 1.概念: socket這個詞可以表示很多概念:在TCP/IP協議中,“IP地址 + TCP或UDP端口號”唯一標識網絡通信中的一個進程,“IP地址 + 端口號”就

原创 CRC校驗(循環冗餘校驗碼)

一、概念: CRC即循環冗餘校驗碼:是數據通信領域中最常用的一種查錯校驗碼,其特徵是信息字段和校驗字段的長度可以任意選定。循環冗餘檢查(CRC)是一種數據傳輸檢錯功能,對數據進行多項式計算,並將得到的結果附在幀的後面,接收設備也執行類似

原创 TCP三次握手與四次揮手

一、TCP三次握手 所謂三次握手,就是在建立TCP連接時,需要客戶端和服務端一共發送三個包。三次握手的目的是連接服務器指定端口,建立TCP連接,並同步連接雙方的序列號和確認號並交換TCP窗口大小信息。在socket編程中,客戶端執行co

原创 NAT與代理服務器

一、NAT技術 1.概念 NAT,即Networ Address Translation,可譯爲網絡地址轉換或網絡地址翻譯。 當前的Internet面臨兩大問題,即可用IP地址的短缺和路由表的不斷增大,這使得衆多用戶的接入出現困

原创 請寫一個帶參數的宏來求兩個數中的最大值。

請寫一個帶參數的宏來求兩個數中的最大值。      求兩個數中的最大值必定要返回一個值,可以直接寫成表達式的形式。如下: #define MAX(x,y) (x)>(y)?(x):(y)  但是這句代碼有點問題,像下面這樣調用:

原创 創建守護進程

守護進程也稱精靈進程,是運行在後他的一種特殊進程。它獨立於控制終端並且週期性的執行某種任務或等待處理某些發生的事件。守護進程是一種很有的進程,linux的大多數服務器就是用守護進程實現的。比如,Internet服務器inetd,web服務

原创 文件描述符與文件指針

首先看下下面函數: FILE* fopen(const char* path, const char* mode) 我們看它的返回值,當文件順利打開後,指向該流的文件指針就會被返回,也就是說這個函數返回值爲 FILE* 類型(文件指針類

原创 URG與PSH

一、URG URG(緊急位): 急指針是一個正的偏移量,和序號字段中的值相加表示緊急數據最後一個字節的序號。T C P的緊急方式是發送端向另一端發送緊急數據的一種方式。緊急指針指向包內數據段的某個字節(數據從第一字節到指針所指字節就是緊