原创 C語言基本流程控制

語句的學習在於多練習,大家直接在代碼中體會。 一、順序語句 正常情況下 C語言的代碼是從上往下一行一行執行 比如以下代碼 int main() { int a = 0; printf("hello\n"); printf("i a

原创 基礎數據在內存中的存儲-C語言

在計算機中所有的數據存儲都是二進制 1  十進制與二進制的轉換 1.1 二進制轉十進制           假如數據10.101,對應各個位數 爲  ab.cde ,則轉換爲十進制的數據          a*2的1次方+ b*2的0次

原创 鏈表原理

1 、鏈式存儲概念 (1)順序存儲: 我們所學的數組是一種連續的順序存儲方式,知道了數組某一個元素的地址,由於連續,則可以通過地址的計算能夠算出每一個元素的地址。 (2)鏈式存儲: 該方式是每個單元的存儲位置是不連續的,隨機的,但是可以通

原创 C語言視頻鏈接

一、視頻 視頻鏈接見 :http://pan.baidu.com/s/1i320yEh  本視頻初衷在於幫助初學者更好地學習C語言。 二、報錯 視頻中的一些錯誤修正見下面鏈接,歡迎大家修正報錯,發郵件[email protected],或者

原创 結構體知識梳理3-結構體包含結構體

基本使用 結構體的成員可以是任何已知類型,那麼當然也可以是結構體類型: typedef struct student{ int num; //成員 int age; char name[10]; }s_stu,*p_stu;

原创 指針知識梳理2-指針與一維數組

一、一維數組複習 數組的本質是連續的內存,我們可以通過一下代碼驗證。 int main() { int a[10]; int i; for(i = 0;i<10;i++) { printf("%p\n",&a[i]);

原创 結構體語法梳理2-指針與一維數組

結構體指針與結構體數組 1.1 指針複習 對於指針的理解,我們一方面從語法層面上理解,一方面編譯器角度理解會發生什麼事情。 type  *p = value; p+i   的結果是 value+sizeof(type)*i 對於指針變量p

原创 指針知識梳理3-指針作爲參數

一、函數傳參複習 #include <stdio.h> //指針傳參,函數傳參本質是值傳遞 void func1(int a) { a = 5; } void func2(int *p) { *p = 10; p

原创 指針變量與++ --結合

指針變量 跟 ++結合的時候由於優先級的問題,有時候會弄混淆,梳理如下: 1、 表達式及 ++    對於任何一個表達式,表達式會做一些事情,並且整個表達式有個值。    比如   a+b ,表達式做的是加法,並且表達式的值就是 兩個數的

原创 聯合體、位段巧妙用法

初學C語言union的時候,一直在想到底在哪裏用到它,甚至在工作的前一年基本上認爲union是無用的,直到後來看到一大牛寫的代碼,才豁然開朗,深感學無止境! 直接上代碼,見如下應用場景: 在硬件編程中,經常要進行位操作,假定 寄存器是8位

原创 結構體知識梳理4-淺拷貝深拷貝

應用場景分析,我們希望對一個學生的信息做備份 代碼一 typedef struct student{ int num; int age; char name[10]; }s_stu,*p_stu; //stu1 stu2 有獨

原创 指針知識梳理1-變量基本定義及使用

一、指針變量、地址、數據、內存關係 在學習指針之前,我們先統一幾個概念。 (1)在計算機中本質 用 內存 來存儲 數據 ,在我們寫代碼的時候,用變量來存儲數據 。 (2)變量是在編程語言中的概念,方便我們編程,當編譯運行起來以後,就只有

原创 結構體語法梳理1-基本定義及使用

一、爲什麼用結構體  C語言中的基本數據類型,用來描述現實生活中的一些事物,比如:一個學生有年齡、學號等屬性,我們分別用 int 變量存儲年齡、學號,那麼我們會寫出以下代碼: int age; int num; 如果 我們想存儲多個學

原创 Virtual Box 安裝共享文件夾

環境: 主機安裝 windows7 虛擬機軟件 virtual box 虛擬機中 安裝ubuntu10.04 當在虛擬機中安裝了ubuntu以後,發現無法把虛擬機中的文件弄出來。 對於初學者來說,以下方法可以參考: 1、直接打開瀏覽器,

原创 指針知識梳理10-指向數組的指針

一、指向數組的指針 1、所謂指向的意思:我們通常說指針變量指向某個變量或者某塊內存,意思是這個指針變量存儲了某個變量的地址或者某塊內存的地址。 2、一個變量可以佔多個字節,我們通常所說某個 的地址指的是這塊內存的起始地址。比如int  a