原创 嵌入式編程

【1】用#define聲明一個常數,用以表示一年中有多少秒#define SECONDS_PER_YEAR (60*60*24*365)UL說明:首先,末尾#define語法末尾不能有分號;      其次,計算式最好帶括號;      第

原创 類的繼承與派生

(一)類的三種繼承方式    類的繼承方式有public(公有繼承)、protected(保護繼承)、private(私有繼承)三種。    公有繼承,基類的公有成員和保護成員被繼承到派生類中以後同樣成爲派生類的公有成員和保護成員,派生類中

原创 指針基礎

一、用變量a給下面的定義:1、定義一個整型數int a;2、定義一個指向整型數的指針int *a;3、定義一個指向指針的指針,它指向的指針是一個指向整型數指針int **a;4、定義一個有10個指針的數組,該指針是指向一個整型數的指針int

原创 函數指針和指針函數

一、函數指針與指針函數說明:函數指針,即其本質是一個指針,它是一個指向函數的指針變量。指針函數,即其本質是一個函數,返回的是某一類型的指針。值得注意的是:max函數的入口地址類型應該爲:(int*)(int,int)。輸出結果:二、定義如下

原创 原碼、反碼、補碼

正數的原碼、反碼、補碼是一模一樣的。如正數10的原碼、反碼、補碼都是0000 1010負數的補碼就是原碼取反加1如負數-67的原碼是1100 0011,其補碼是1011 1101利用補碼,可以把減法運算變成兩個補碼相加,然後再將結果變爲原碼

原创 指針基礎

一、用變量a給下面的定義:1、定義一個整型數int a;2、定義一個指向整型數的指針int *a;3、定義一個指向指針的指針,它指向的指針是一個指向整型數指針int **a;4、定義一個有10個指針的數組,該指針是指向一個整型數的指針int

原创 預處理、const、static與sizeof

(一)用#define實現宏,並求最大值和最小值#define MAX(x,y)    (((x)>(y)) ? (x):(y))#define MIN(x,y)    (((x)<(y)) ? (x):(y))分析:這個操作符能產生比if

原创 拷貝構造函數、拷貝函數、析構函數

在C++中,3種對象需要拷貝,此時拷貝構造函數將會被調用。1、一個對象以值傳遞的方式傳入函數體2、一個對象以值傳遞的方式從函數返回3、一個對象需要通過另一個對象進行初始化如下例:輸出結構爲:再如下例:分析:test類中buf是一個字符指針,

原创 C/C++程序基礎

(一)i++ 和 ++i的用法分析:++i  --i  i++  i--不作說明,執行至第14行時,i=8。從第15行開始,-i++  -i--  -++i  - --i,首先,取負符號'-' 和 ++ --的邏輯優先級等級是相同的,那麼在

原创 實現strcpy函數、memcpy函數

需要注意的是:第44、45行中,strlen是函數,sizeof是算符。strlen()是從內存的某個位置開始掃描,知道碰到第一個字符串結束符'\0'爲止,然後返回計數器數值(不包括'\0')。sizeof是一個操作符,簡單地說,就是返回一

原创 不使用庫函數將字符串轉換爲數字

第8行,指針ptr指向字符串首地址,且用了const修飾,表明ptr是常量指針,只能指向常量,其指向的內容不可改變。這裏是方便後面判斷字符串的第一個字符是否是‘-’,以方便確定最終的轉換結果是正數還是負數。第10行,判斷字符串第一個字符是否

原创 單向鏈表的建立、打印、查找、插入、刪除

只看代碼,不說話

原创 原碼、反碼、補碼

正數的原碼、反碼、補碼是一模一樣的。如正數10的原碼、反碼、補碼都是0000 1010負數的補碼就是原碼取反加1如負數-67的原碼是1100 0011,其補碼是1011 1101利用補碼,可以把減法運算變成兩個補碼相加,然後再將結果變爲原碼

原创 C++多文件結構及預處理命令

    一個程序按結構至少可劃分爲三個文件:    類的聲明文件(*.h文件)    類的實現文件(*.cpp文件)    主函數文件(使用到類的文件)    打個比方,建立一個工程,有Clock.h、Clock.cpp、main.cpp 

原创 函數指針和指針函數

一、函數指針與指針函數說明:函數指針,即其本質是一個指針,它是一個指向函數的指針變量。指針函數,即其本質是一個函數,返回的是某一類型的指針。值得注意的是:max函數的入口地址類型應該爲:(int*)(int,int)。輸出結果:二、定義如下