日本伊人精品一区二区三区观看方式,亚洲一区二区久久久久久,亚洲精品无吗,欧美日韩一区二区高清

有考網(wǎng)有考網(wǎng)合作機構>溫州培訓學校>溫州鹿城區(qū)達內(nèi)IT教育培訓
溫州鹿城區(qū)達內(nèi)IT教育培訓
全國統(tǒng)一學習專線 8:30-21:00
位置:有考網(wǎng) > 計算機類 > C/C++開發(fā) > > 溫州達內(nèi)C++開發(fā)培訓機構怎么樣?  正文

溫州達內(nèi)C++開發(fā)培訓機構怎么樣?

發(fā)布時間:2021-10-27 16:46:33來源:有考培訓網(wǎng)綜合

溫州達內(nèi)C++開發(fā)培訓機構怎么樣?作為國內(nèi)IT培訓的實力品牌,達內(nèi)集團的每一名員工都以"幫助每一個學員成就夢想"為己任,也正因為達內(nèi)人的執(zhí)著與努力,達內(nèi)堅持為社會輸送合格人才,為中國IT行業(yè)的發(fā)展做出了貢獻。達內(nèi)特色辦學,開設了豐富多樣的IT技術課程。

(一)什么是宏定義:

1.宏定義“像”函數(shù);

2.宏定義不是函數(shù),因而需要括上所有參數(shù);

3.宏定義可能產(chǎn)生副作用;

例如:

#define MIN(a,b) ((a) < (b) ? (a) : (b))

(二)void和void 指針深層探討

規(guī)則:在C語言中,凡是不加返回值類型限定的函數(shù),就會被編譯器作為返回整形值處理,但很多程序員卻誤認為其為void類型。

1.任何類型的指針都可以直接賦值給void*類型的指針,無需進行強制類型轉換。但是void*指針卻不可以不進行強制類型轉換而直接就賦值給其他類型的指針。

2.如果函數(shù)沒有返回值,應聲明為void類型。

3.如果函數(shù)無參數(shù),那么應聲明其參數(shù)為void類型。在C語言中可以給無參數(shù)的函數(shù)傳送任意類型的參數(shù),但是在C++中不能向無參數(shù)的函數(shù)傳送任何參數(shù),錯誤提示:function does not take 1 parameters.所以無論是C還是C++,若函數(shù)不接受任何參數(shù),應將其聲明為void類型。

4按照ANSI(American National Standards Institute)標準,不能對void指針進行算法操作,這是因為ANSI標準認定:進行算法操作的指針必須是確定知道其指向類型大小的。例如:

int *ptr;

ptr++;

ptr++的結果是使其增大sizeof(int).

但是GNU則不這么認定,它指定void*的算法操作和char*一致。

5.如果函數(shù)的參數(shù)可以是任意類型指針,那么應將其聲明為void*類型。

典型的如內(nèi)存操作函數(shù):

void * memcpy(void *dest, const void *src, size_t len);

void * memset(void *buffer, int c,size_t num);

這樣,任何類型的指針都可以傳入memcpy和memset中,這也真實的體現(xiàn)了內(nèi)存操作函數(shù)的意義,因為它操作的對象僅僅是一片內(nèi)存,而無論這片內(nèi)存是什么類型!

6.void不能代表一個真實的變量,如void a;錯誤

(三)內(nèi)存分配方式

內(nèi)存分配方式有3中:

1. 從靜態(tài)存儲區(qū)域分配。內(nèi)存在程序編譯的時候就已經(jīng)分配好,這塊內(nèi)存在程序的整個運行期間都存在,例如全局變量,static變量。

2.在棧上創(chuàng)建,在執(zhí)行函數(shù)時,函數(shù)內(nèi)部的局部變量的存儲單元都是可以在棧上創(chuàng)建的。函數(shù)執(zhí)行結束時這些存儲單元自動被釋放,棧內(nèi)存分配運算內(nèi)置于處理器的指令集中,效率很高,但是分配的內(nèi)存容量有限。

3。在堆上分配,亦稱動態(tài)內(nèi)存分配,程序在運行的時候用malloc或new申請任意多少的內(nèi)存,程序員自己負責在何時用free或delete釋放內(nèi)存,動態(tài)內(nèi)存的生存期由我們決定,使用靈活,但是容易出錯。

(四)內(nèi)存操作注意事項

1、用malloc或new申請內(nèi)存之后,應該立即檢查指針值是否為NULL,防止使用指針值為NULL的內(nèi)存。

2、不要忘記為數(shù)組和動態(tài)內(nèi)存賦初值,防止將未被初始化的內(nèi)存作為右值使用。

3、避免數(shù)組或指針的下標越界,特別要當心發(fā)生多1或者少1的操作。

4、動態(tài)內(nèi)存的申請和釋放必須配對,防止內(nèi)存泄露。

5、用free或delete釋放了內(nèi)存之后,立即將指針設置為NULL,防止產(chǎn)生"野指針"."野指針"不是NULL指針,是指向”垃圾“內(nèi)存的指針。

(五)如何判斷大小端格式

編寫一個C函數(shù),若處理器是big_endian的,則返回0,若是little_endian的,則返回1;

int checkCPU(void){ union w{

int a;

char b;

}c;

c.a = 0x1234;

return(c.b == 0x34);

相關內(nèi)容: 溫州C++開發(fā)培訓機構 溫州達內(nèi)C++開發(fā) 達內(nèi)C++開發(fā)培訓機構

推薦課程
同類文章
相關熱詞
主站蜘蛛池模板: 千阳县| 介休市| 古浪县| 凭祥市| 建水县| 射阳县| 内江市| 石屏县| 贵南县| 小金县| 南靖县| 庆元县| 堆龙德庆县| 潜山县| 卓尼县| 淮滨县| 昆山市| 六盘水市| 盘山县| 江安县| 丹江口市| 铁岭市| 潜山县| 文登市| 肃宁县| 曲麻莱县| 冕宁县| 德阳市| 大英县| 栖霞市| 大宁县| 息烽县| 东兰县| 吴川市| 崇文区| 尖扎县| 沙田区| 多伦县| 永和县| 东乌| 白城市|