原创 作用域與鏈接

C語言編寫的源文件需要被編譯器編譯爲機器語言,然後與你調用的各種庫函數文件或同一項目的其他文件相鏈接形成exe可執行程序。 源文件之間的鏈接對於每個變量來講也是需要規定屬性的,稱爲連接屬性,分別爲:external,internal,no

原创 一維數組的原理與指針的關係

我們知道,一維數組中,數組內嵌指針,可以將數組名理解爲特殊的指針。 這個指針地址是數組首元素的地址,存取着數組首元素的地址。 數組中地址的劃分與表示是從內存中首個元素頭部開始的。 例如:定義數據類型爲整形的一維數組a:int a[

原创 二維數組的原理與指針運算的原理

上次梳理了一維數組的與指針的原理以及它們的關係,我們再來看看二維數組。 當我們定義一個二維數組時,實際上佔用的是內存中連續的線性空間。 倘若我們定義整形的二維數組:int b[2][3],實際上它在內存中佔用連續6個整形元素的空間

原创 **p[ ] 和 *(*p)[ ] 的區別

有關指針部分的疑惑,瀏覽到他人很有幫助的解答,引用一下並捎帶自己的理解碼一下。 如果是表達式,那麼方括號裏應該有個數字,或變量,否則你沒東西算。 那麼就應該是聲明瞭,你缺少了基類型。 一看就知道你是初學者,把指針聲明裏的星號,和普

原创 const變量與指向常量的常量指針

C語言中的變量與常量,顧名思義,可變與恆定。 const的存在就是將變量修飾爲常量,即讓變量變爲只讀屬性。(並不是真的變爲常量) 只讀的變量: 使變量屬性變爲只讀,像常量一樣無法通過賦值進行更改。 定義方式: const int cn

原创 內存佈局的基本概念

內存地址由低到高: 函數-->字符串常量 --> 初始化的全局變量 --> 初始化的靜態變量 --> 未初始化的全局變量 --> 動態申請的內存空間 --> 局部變量 C語言程序內存佈局規律,由低地址到高地址: 代碼段 --> 數據段 -

原创 Mybatis實現基礎查詢操作

實現一個基礎的查詢操作: 新建javaproject。 1,項目上新建lib文件夾,將以下jar包放入,並添加jar包。 Log4j是Apache的一個開源項目,通過使用Log4j,我們可以控制日誌信息輸送的目的地是控制檯等。 注意my

原创 結構體

C語言定義了很多基本數據類型,當我們需要爲某一變量定義多個不同的數據類型時,我們就用到了結構體。 結構體可以作爲一個變量存放多個不同數據類型的數據,而數組只能存放同數據類型的多個數據。 比如一本書:具有圖書名稱,圖書作者,圖書售價,出版日

原创 結構體嵌套、結構體數組、結構體指針

結構體嵌套: 將一個已經聲明的結構體在另一個結構體內作爲成員變量進行定義,並在外層結構體初始化的同時最自己進行行初始化,使用花括號包裹自身成員變量。 打印時注意爲:結構體名稱.結構體成員結構體.結構體成員結構體的成員 #include

原创 開發環境的配置、安裝多個JDK、Javac編譯失敗的原因

操作系統不識別java,只識別彙編與c語言,無論是Windows還是Linux 現有操作系統基本由c+彙編編寫,所以除了這兩種語言,其他語言均不識別。 所以要想運行各種其他語言,需要安裝翻譯環境。 這些序言翻譯環境會把語言重新翻譯成彙編和

原创 指針學習之直觀展示多級指針運算原理的題目

以下是題目代碼: char a[4][3][2] = { { {'a', 'b'}, {'c', 'd'}, {'e', 'f'} },

原创 二維數組與數組指針

上次梳理了二維數組的原理,那麼,二維數組與哪種類型的指針相似呢? 就是數組指針。 數組指針爲一個指向數組整體的指針,看似是隻有它孤零零的一個指針,其實不然,除了這個指向數組整體的指針之外,還有數組內嵌的指針存在,同樣有點“我主外,你主內"

原创 傳值和傳址,指針函數,函數指針,函數指針作爲參數,函數指針作爲返回值。

有時候,我們定義的函數需要接收用戶傳入的數據,那麼就需要使用到函數的參數。 函數參數的數量可以有多個, 返回值一般表示函數計算後的數值,也可以表示執行結果。 主函數傳入的參數稱爲實參,傳遞到函數體的參數叫做形參。 傳遞到形參後就可以直接在

原创 C語言指針的心得體會~

C語言學了這麼些天數,果然遇到的第一個難點就是指針~ 指針學習就要結束了,先記錄並梳理一下來自己初步理解的內容: 在梳理指針之前; 首先要明白虛擬內存中,是存在連續的,線性排列的內存塊,每個內存地址代表一內存塊,每一內存塊佔用一字節。每個

原创 指向指針數組的指針與存儲字符串的指針數組

今天看到一道題目,突然把自己對指針的理解整混亂了。 題目是這樣的:假設定義了一個指針數組tBooks如下,請定義一個指向它的數組指針p,讓程序可以順利執行,並按要求打印出數據。 代碼: char *tBooks[] = {