首頁(yè)  資訊  商機(jī)   下載  拆解   高校  招聘   雜志  會(huì)展  EETV  百科   問(wèn)答  電路圖  工程師手冊(cè)   Datasheet  100例   活動(dòng)中心  E周刊閱讀   樣片申請(qǐng)
EEPW首頁(yè) >> 主題列表 >> c語(yǔ)言

C語(yǔ)言的那些小秘密之指針(四)

  •   正如前一篇博客所說(shuō)的,但凡人都是急功近利和有惰性的,都不喜歡花時(shí)間去閱讀那些我們認(rèn)為枯燥的文字描述,喜歡直接進(jìn)入主題。但是有時(shí)候恰恰就是因?yàn)槲覀兊倪@種急功近利和惰性,使得我們繞了很大一個(gè)彎,到最后還是回到了文字描述上來(lái),所以我覺(jué)得適當(dāng)?shù)奈淖置枋鱿?,讓讀者對(duì)于文章的整體有個(gè)大概的認(rèn)識(shí)之后,再去學(xué)習(xí)能收獲更好的效果。我的前兩篇關(guān)于C指針的博客用的摘要都是copy我第一篇C指針博客的摘要,當(dāng)然這篇也不例外,還是會(huì)引用我第一篇博客的摘要,只是在引用摘要之前我要先交代件事兒,就是關(guān)于函數(shù)指針和指針函數(shù)、以及指針
  • 關(guān)鍵字: C語(yǔ)言  指針  

C語(yǔ)言的那些小秘密之指針(三)

  •   但凡人都是急功近利和有惰性的,我就是個(gè)例子。不想每篇博客都寫(xiě)一個(gè)摘要和那些大段的文字描述,但是為了讓一些新的讀者朋友了解我的博客內(nèi)容,我還是像前面說(shuō)的那樣,把第一篇關(guān)于指針的摘要搬過(guò)來(lái),因?yàn)槲覍?xiě)的這幾篇都是關(guān)于指針的,所以沒(méi)有必要每篇一個(gè)摘要,在此就偷偷懶了,如果讀過(guò)我前面兩篇C指針博客的朋友可以跳過(guò)這篇博客前面的摘要不讀,直接進(jìn)入主題部分。   懂得C語(yǔ)言的人都知道,C語(yǔ)言之所以強(qiáng)大,以及其自由性,絕大部分體現(xiàn)在其靈活的指針運(yùn)用上。因此,說(shuō)指針是c語(yǔ)言的靈魂,一點(diǎn)都不為過(guò)。所以從我的標(biāo)題加了個(gè)(一
  • 關(guān)鍵字: C語(yǔ)言  指針  

C語(yǔ)言的那些小秘密之指針(二)

  •   懂得C語(yǔ)言的人都知道,C語(yǔ)言之所以強(qiáng)大,以及其自由性,絕大部分體現(xiàn)在其靈活的指針運(yùn)用上。因此,說(shuō)指針是c語(yǔ)言的靈魂,一點(diǎn)都不為過(guò)。所以從我的標(biāo)題加了個(gè)(一)也可以看出指針的重要性,我盡可能的向大家交代清楚我對(duì)于指針的理解。所以在講解的過(guò)程中我盡可能的用代碼加文字的描述方式,通過(guò)代碼的分析來(lái)加深我們對(duì)于指針的理解,我給出的都是完整的代碼,所以讀者可以在看的過(guò)程中直接copy下去即可運(yùn)行,希望下面的講解能夠?qū)δ阌兴鶐椭?   在此也特地強(qiáng)調(diào)下,如果以后出現(xiàn)類(lèi)似的情況時(shí),我博客的第一段均作為摘要。如果已經(jīng)
  • 關(guān)鍵字: C語(yǔ)言  指針  

C語(yǔ)言的那些小秘密之指針(一)

  •   懂得C語(yǔ)言的人都知道,C語(yǔ)言之所以強(qiáng)大,以及其自由性,絕大部分體現(xiàn)在其靈活的指針運(yùn)用上。因此,說(shuō)指針是c語(yǔ)言的靈魂,一點(diǎn)都不為過(guò)。所以從我的標(biāo)題加了個(gè)(一)也可以看出指針的重要性,我盡可能的向大家交代清楚我對(duì)于指針的理解。所以在講解的過(guò)程中我盡可能的用代碼加文字的描述方式,通過(guò)代碼的分析來(lái)加深我們對(duì)于指針的理解,我給出的都是完整的代碼,所以讀者可以在看的過(guò)程中直接copy下去即可運(yùn)行,希望下面的講解能夠?qū)δ阌兴鶐椭?   首先讓我們來(lái)看看定義一個(gè)指針的一般形式為:   基類(lèi)型 *指針變量名   
  • 關(guān)鍵字: C語(yǔ)言  指針  

C語(yǔ)言的那些小秘密之const修飾符

  •          或許還有不少人對(duì)于const修飾符理解的并不深刻,都只是停留在一個(gè)比較淺的層面上,僅僅是在讀別人代碼的時(shí)候看到了const修飾符的使用,自己的寫(xiě)代碼的過(guò)中從未使用過(guò),所以自然對(duì)于const修飾符比較陌生。那么到底什么是const修飾符,我們?cè)谧约壕帉?xiě)C語(yǔ)言代碼的過(guò)程中又該如何有效的使用const修飾符呢,現(xiàn)在讓我們來(lái)學(xué)習(xí)下const修飾符的使用。   const在C語(yǔ)言中算是一個(gè)比較新的描述符,我們稱(chēng)之為常
  • 關(guān)鍵字: C語(yǔ)言  const  

C語(yǔ)言的那些小秘密之函數(shù)的調(diào)用關(guān)系

  •   顯示函數(shù)的調(diào)用關(guān)系是調(diào)試器的必備功能,如果我們?cè)诔绦虻倪\(yùn)行中出現(xiàn)了崩潰的情況,通過(guò)函數(shù)的調(diào)用關(guān)系可以快速定位問(wèn)題的根源,懂得函數(shù)調(diào)用關(guān)系的實(shí)現(xiàn)原理也可以擴(kuò)充自己的知識(shí)面,在沒(méi)有調(diào)試器的情況下,我們也可以自己來(lái)實(shí)現(xiàn)顯示函數(shù)的調(diào)用關(guān)系。在我們自己動(dòng)手寫(xiě)backtrace函數(shù)之前,先來(lái)看看glibc提供的backtrace函數(shù)的使用。代碼如下:   #include   #include   #include   #define MAX_LEVEL 4   static void call2
  • 關(guān)鍵字: C語(yǔ)言  函數(shù)  

C語(yǔ)言的那些小秘密之變參函數(shù)的實(shí)現(xiàn)

  •   在學(xué)習(xí)C語(yǔ)言的過(guò)程中我們可能很少會(huì)去寫(xiě)變參函數(shù),印象中大學(xué)老師好像也沒(méi)有提及過(guò),但我發(fā)現(xiàn)變參函數(shù)的實(shí)現(xiàn)很巧妙,所以還是特地在此分析下變參函數(shù)的實(shí)現(xiàn)原理。無(wú)需標(biāo)準(zhǔn)C的支持,我們自己寫(xiě)代碼來(lái)實(shí)現(xiàn)。   先來(lái)看看一個(gè)實(shí)現(xiàn)代碼:   #include   #define va_list void*   #define va_arg(arg, type) *(type*)arg; arg = (char*)arg + sizeof(type);   #define va_start(arg, sta
  • 關(guān)鍵字: C語(yǔ)言  函數(shù)  

C語(yǔ)言的那些小秘密之函數(shù)指針

  •   我們經(jīng)常會(huì)聽(tīng)到這樣的說(shuō)法,不懂得函數(shù)指針就不是真正的C語(yǔ)言高手。我們不管這句話對(duì)與否,但是它都從側(cè)面反應(yīng)出了函數(shù)指針的重要性,所以我們還是有必要掌握對(duì)函數(shù)指針的使用。先來(lái)看看函數(shù)指針的定義吧。   函數(shù)是由執(zhí)行語(yǔ)句組成的指令序列或者代碼,這些代碼的有序集合根據(jù)其大小被分配到一定的內(nèi)存空間中,這一片內(nèi)存空間的起始地址就成為函數(shù)的地址,不同的函數(shù)有不同的函數(shù)地址,編譯器通過(guò)函數(shù)名來(lái)索引函數(shù)的入口地址,為了方便操作類(lèi)型屬性相同的函數(shù),c/c++引入了函數(shù)指針,函數(shù)指針就是指向代碼入口地址的指針,是指向函數(shù)
  • 關(guān)鍵字: C語(yǔ)言  函數(shù)  指針  

C語(yǔ)言的那些小秘密之內(nèi)存分配

  •   realloc()函數(shù)   原型:extern void *realloc(void *mem_address, unsigned int newsize);   語(yǔ)法:指針名=(數(shù)據(jù)類(lèi)型*)realloc(要改變內(nèi)存大小的指針名,新的大小)。   頭文件:#include 有些編譯器需要#include ,在TC2.0中可以使用alloc.h頭文件   功能:先按照newsize指定的大小分配空間,將原有數(shù)據(jù)從頭到尾拷貝到新分配的內(nèi)存區(qū)域,而后釋放原來(lái)mem_address所指內(nèi)存區(qū)域,同時(shí)
  • 關(guān)鍵字: C語(yǔ)言  內(nèi)存分配  

C語(yǔ)言的那些小秘密之堆棧

  • 何為堆棧?首先要明確堆棧是兩種數(shù)據(jù)結(jié)構(gòu)。棧是硬件,堆是一種動(dòng)態(tài)存儲(chǔ)結(jié)構(gòu),但是它們倆個(gè)又是如何共存的呢?  
  • 關(guān)鍵字: C語(yǔ)言  堆棧  

解密C語(yǔ)言的指針

  •   C語(yǔ)言作為嵌入式開(kāi)發(fā)的基礎(chǔ)語(yǔ)言已經(jīng)越來(lái)越讓工程師們知道它的厲害:可以直接操控寄存器,方便CPU的功能設(shè)置;可以直接操作物理地址,并進(jìn)行位的操作進(jìn)而達(dá)到硬件的操作等等。如果你用8位16位單片機(jī)進(jìn)行開(kāi)發(fā)學(xué)習(xí),相信使用一些程序技術(shù)可以完成設(shè)計(jì):循環(huán)、選擇、位操作、條件判斷、數(shù)組和程序嵌套等。如果你進(jìn)行操作系統(tǒng),關(guān)注操作系統(tǒng)的內(nèi)核(以linux為例),你就會(huì)發(fā)現(xiàn)這些C語(yǔ)言是其中的一小部分。對(duì)于操作系統(tǒng)來(lái)說(shuō)更多運(yùn)用到指針,究其原因,一個(gè)很重要的原因就是處理速度快。那么,今天我就把C語(yǔ)言的指針做個(gè)總結(jié)。   第
  • 關(guān)鍵字: C語(yǔ)言  指針  linux  

掌握C語(yǔ)言必知要點(diǎn)(續(xù))

  •   8、邊界對(duì)齊   CPU在單位時(shí)間內(nèi)(同一時(shí)間)能一次處理的二進(jìn)制數(shù)的位數(shù)叫字長(zhǎng)。處理字長(zhǎng)為8位數(shù)據(jù)的CPU通常就叫8位的CPU, 當(dāng)前的CPU大部分是32位的CPU,如果某臺(tái)機(jī)器的字長(zhǎng)為4個(gè)字節(jié)(也就是32位),那么下面的結(jié)構(gòu)體會(huì)占用多少內(nèi)存空間呢?   struct StrA{   int a;   char b;   short c;   char d;   };   如果你的答案是12字節(jié),恭喜你!答對(duì)了。這個(gè)結(jié)構(gòu)在內(nèi)存中的存儲(chǔ)如下圖所示:   a為int型,占4個(gè)字節(jié)(0-
  • 關(guān)鍵字: C語(yǔ)言  static  指針  

掌握C語(yǔ)言的必知要點(diǎn)

  •   溫故而知新,可以為師矣,初學(xué)一門(mén)語(yǔ)言的時(shí)候,我們會(huì)躍躍欲試,并沒(méi)有真正深入的理解,經(jīng)過(guò)一段時(shí)間的實(shí)踐,會(huì)產(chǎn)生困惑,學(xué)而不思則殆,這時(shí)回過(guò)頭來(lái)看書(shū),會(huì)有意想不到的收獲,會(huì)豁然開(kāi)朗,會(huì)讓你在以后的實(shí)踐中更加運(yùn)用自如,下面再來(lái)看看一些C語(yǔ)言的知識(shí)要點(diǎn)及注意事項(xiàng),一起來(lái)溫習(xí)一下。   1、 Switch   先來(lái)看一個(gè)簡(jiǎn)單的實(shí)例   Switch(cmd){   Case 1:func1();break;   Case 2:func2();   Case 3:func3();break   De
  • 關(guān)鍵字: C語(yǔ)言  可維護(hù)性  

C語(yǔ)言的一些高級(jí)議題

  •   指針是C語(yǔ)言的靈魂,我們經(jīng)常聽(tīng)到這樣的說(shuō)法,當(dāng)我們初學(xué)C語(yǔ)言的時(shí)候,似乎覺(jué)得也沒(méi)有什么,但是當(dāng)你越來(lái)越深入的了解它,你就會(huì)發(fā)現(xiàn)C語(yǔ)言的強(qiáng)大有時(shí)甚至超乎你的想象。C語(yǔ)言作為一種相對(duì)較為底層的語(yǔ)言,在某些方面有著不可替代的優(yōu)勢(shì)。因此,要學(xué)好C語(yǔ)言,要深入,要精通。   C語(yǔ)言之回調(diào)函數(shù)   先來(lái)看下函數(shù)指針的的基礎(chǔ)知識(shí),函數(shù)指針,顧名思義,就是指向函數(shù)的指針,聲明方法如下:   int func(int); //函數(shù)原型   int (*pfunc)(int) = & func; //創(chuàng)建
  • 關(guān)鍵字: C語(yǔ)言  指針  函數(shù)  

硬件工程師的10個(gè)C語(yǔ)言技巧

  •   硬件設(shè)計(jì)師最常見(jiàn)的工作內(nèi)容是通過(guò)寫(xiě)代碼來(lái)測(cè)試硬件。這10個(gè)C語(yǔ)言技巧(C語(yǔ)言仍然是常見(jiàn)的選擇)可以幫助設(shè)計(jì)師避免因基礎(chǔ)性錯(cuò)誤而導(dǎo)致某些缺陷的產(chǎn)生并造成維護(hù)方面的困擾。   為了成功的推出一個(gè)產(chǎn)品,軟件開(kāi)發(fā)過(guò)程本身需要經(jīng)歷無(wú)數(shù)的實(shí)踐風(fēng)險(xiǎn)和障礙。任何工程師最不希望的事情就是因所使用語(yǔ)言或工具而帶來(lái)的挑戰(zhàn)。因此,這就需要硬件設(shè)計(jì)師編寫(xiě)代碼來(lái)測(cè)試硬件的工作狀況,在資源受限的情況下,還需要開(kāi)發(fā)硬件和嵌入式軟件。盡管工具和結(jié)構(gòu)化編程已經(jīng)有了很大進(jìn)展,但通常選擇的仍然是C語(yǔ)言,基礎(chǔ)性錯(cuò)誤的不斷發(fā)生,仍會(huì)導(dǎo)致某些缺
  • 關(guān)鍵字: 硬件工程師  C語(yǔ)言  goto  
共258條 6/18 |‹ « 4 5 6 7 8 9 10 11 12 13 » ›|

c語(yǔ)言介紹

C語(yǔ)言是一種計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言。它既有高級(jí)語(yǔ)言的特點(diǎn),又具有匯編語(yǔ)言的特點(diǎn)。它可以作為系統(tǒng)設(shè)計(jì)語(yǔ)言,編寫(xiě)工作系統(tǒng)應(yīng)用程序,也可以作為應(yīng)用程序設(shè)計(jì)語(yǔ)言,編寫(xiě)不依賴計(jì)算機(jī)硬件的應(yīng)用程序。因此,它的應(yīng)用范圍廣泛。主要有以下特點(diǎn):   C語(yǔ)言在很多方面都可以用,不僅僅是在軟件開(kāi)發(fā)上,各類(lèi)科研都是需要用到C語(yǔ)言的。具體應(yīng)用比如我是學(xué)硬件的,單片機(jī)以及嵌入式系統(tǒng)都可以用C來(lái)開(kāi)發(fā)。   C 語(yǔ)言發(fā)展如此迅速 [ 查看詳細(xì) ]

熱門(mén)主題

關(guān)于我們 - 廣告服務(wù) - 企業(yè)會(huì)員服務(wù) - 網(wǎng)站地圖 - 聯(lián)系我們 - 征稿 - 友情鏈接 - 手機(jī)EEPW
Copyright ?2000-2015 ELECTRONIC ENGINEERING & PRODUCT WORLD. All rights reserved.
《電子產(chǎn)品世界》雜志社 版權(quán)所有 北京東曉國(guó)際技術(shù)信息咨詢有限公司
備案 京ICP備12027778號(hào)-2 北京市公安局備案:1101082052    京公網(wǎng)安備11010802012473