原创 用C實現的掃雷小遊戲

#ifndef __GAME_H__ #define __GAME_H__ #define ROWS 10 #define COLS 10 #define default_count 10 void display(char arr[R

原创 小菜鳥寫代碼遇到的那些事

        一般呢,我自己學編程的方式就是先看書上的概念定義,在看些例題視頻什麼的接下來就自己找些簡單的經典的例子自己敲上去,運行試試看,接下來就是一大堆問題,而且基本好多都是自己看過的但是放到實際中就又是另一種情況,好多我都不怎

原创 C++中的智能指針(上)

      C++提供了4種智能指針用於對分配的內存進行自動釋放,分別如下auto_ptr、unique_ptr、shared_ptr、weak_ptr。其中auto_ptr在C++98標準引入,後三種在C++11標準中加入。     說

原创 兩個有趣的邏輯推理題用編程來解答

1.   日本某地發生了一件謀殺案,警察通過排查確定殺人兇手必爲4個嫌疑犯的一個。以下爲4個嫌疑犯的供詞。 A說:不是我。 B說:是C。 C說:是D。 D說:C在胡說 已知3個人說了真話,1個人說的是假話。 現在請根據這些信息,寫一個

原创 linux下的進程描述符——task_struct

1.進程是什麼?        比較官方的說法是說 進程是一個執行實例,正在執行的程序,並能分配處理器並有處理器執行的實體。但是作爲初學者我們並不是怎麼理解這個概念。所以通俗的來講就是在正在執行的程序的總稱,被打包到一個叫做進程控制塊PC

原创 浮點型在內存當中的存儲方式

常見的浮點型:3.14159  IE10 浮點數包括:float, double, long double。 浮點數表示的範圍:float.h中定義。 浮點型存儲例子: #include <stdio.h> int main() { i

原创 linux下用C++代碼實現簡單的進度條

      首先我們來分析一下這個進度條的實現原理,我先想到的是一個數組,然後利用循環來實現,接下來的細節部分用一個 ‘ # ’ 代替百分之一的大小,加上進度條左右的中括號那麼可以確定數組的大小應該是【102】,至於進度條的輸出速度我們可

原创 模擬實現strcpy,strncpy,strcat,strncat,strcmp,strncmp,memcpy,memmove

1.strcpy #include <stdio.h> #include <windows.h> #include <assert.h> void my_strcpy(char *dest, const char *src) //s

原创 函數調用原理——棧幀

本次主要是想通過畫圖結合彙編代碼增加對函數調用過程中的棧結構的理解,用一段簡單的代碼試驗下。 #include <stdio.h> #include <windows.h> int fun(int x, int y) { int c

原创 對於一個初學者來說最高興的莫過於於此

對於一個初學者來說,當看到自己寫的程序0 錯誤 0警告 正常運行真的是有一種發自內心的激動,同時也更肯定了自己。能從中獲得樂趣是最重要的,興趣是最好的導師。 程序1:模擬實現用戶登錄的場景,可以自己設定密碼,密碼位數同樣可以自己設定。登

原创 C++模板實現簡單的鏈表和順序表

       從最初學習C語言到C++,就有一個認識就是作爲一個優秀的程序猿一定要學會 ”偷懶“ ,用程序員的話來說就是複用,在C的基礎上開發的C++就深刻闡明瞭這一道理,因爲這樣有太多的好處,增加了代碼的可移植性,提高了可維護性。C++

原创 C++中的虛表(內存分佈)

什麼是虛表?爲什麼要有虛表他在C++中的作用又是什麼? 虛表就是虛函數表的簡稱,虛函數表是通過一塊連續內存來存儲虛函數的地址,這張表解決了繼承,虛函數(重寫)的問題。在有虛函數的對象實例中都存在一張虛函數表,虛函數表就像一張地圖,指明瞭

原创 vim學習筆記

 安裝vim包:   sudo apt-get install vim 普通用戶到超級用戶的切換:  sudo su 退出超級用戶: ctrl+d  或者exit vim有三種常用模式:普通模式(默認)、編輯模式、命令行模式。 普通模

原创 linux操作系統下的 stat命令

 有些時候,我們需要在Linux中使用stat命令來查看文件的詳細信息。 我們先來看下stat的情況: 如圖所示,會出現3個類型的時間,分別是Access,Modify,Change。下面我們就對這3個時間進行詳細解釋下 acces

原创 linux下的粘滯位

1.什麼是粘滯位?        如果用戶對目錄有寫權限,即使該用戶不是這些文件的所有者,而且也沒有讀或寫許可,仍然可以刪除其中的文件和子目錄。但是如果設置了粘滯位出現在執行許可的位置上,用t表示,其它用戶就不可以刪除不屬於他的文件和目