一直覺得C語言較其他語言最偉大的地方就是C語言中的指針,有些人認為指針很簡單,而有些人認為指針很難,當然這里的對簡單和難并不是等價于對指針的理解程度。為此在這里對C語言中的指針進行全面的總結,從底層的內存分析,徹底讓讀者明白指針的本質。建議大家靜下心來再復習一遍。1 指針變量首先讀者要明白指針是一個變量,為此作者寫了如下代碼來驗證之:#include?"stdio.h"int?main(int?argc,?char?**argv){&n
關鍵字:
函數(shù) 指針
與很多介紹C語言教材不同之處,在《C與指針》的第十二章介紹了一些關于《數(shù)據結構》的內容----鏈表。并且介紹了鏈表的插入、刪除、初始化等操作。到這里應該明白了一門計算機語言的偉大之處不在于語言的本身。我當年在學校學習完Pascal覺得語言好像沒有什么太大用處?,F(xiàn)在想來不是語言沒有用,而是我并沒有使用語言來解決實際中問題。所以名牌大學與普通大學不同之處,不是授予學生的基本知識不同,而是啟蒙方法不同。
鏈表是由節(jié)點組成的,每個節(jié)點組成,節(jié)點必須包括兩大部分,一是節(jié)點的內容,另外是指向下一節(jié)點的指針。
關鍵字:
C 指針
指針之所以在C語言中占據很大分量,是因為指針有很大的靈活性。指針以結構體結合確實為程序的編寫提供了一把鋒利無比的寶劍。在有些資料上介紹結構體是多種數(shù)據集合,也就是一個結構體可以包含若干種不同類型的數(shù)據。不同類型的數(shù)據恰可以和客觀事物的不同屬性結合,用于描述客觀事物非常高效方便。
#define RTX_MAX 50
#define UART_TIME_LIMT 5
typedef struct UART_TYPE
{
unsigned char RX_buf[RTX_MA
關鍵字:
C 指針
字符串是C語言中常用的一種數(shù)據形式。包含了ASCII碼取值范圍是0~127。ASCII是American Standard Code for Information Interchange(美國信息**標準代碼)。以前我有一位年輕的同事,是一位愛國主義青年。每當國家邦交出現(xiàn)問題時恨不得用中文編程。其實美國科學家成果也是屬于全人類的。這么想也就釋然了。
ASCII基本包括了編程所需全部字符。而且每一個ASCII碼與char型數(shù)據是等價的。比如:
char ch;
ch = 0x30;
關鍵字:
C 指針
在這本書中作者專門討論了數(shù)組的下標和指針的關系。而且總結了一個結論:“假定兩種方法都是正確的,下標絕對不會比指針更有效率,但指針有時會比下標更有效率。”這個問題我以前沒有注意到過。并且作者從編譯結果的角度證實自己的結論。
int array[10] ,a;
for( a =0 ;a < 10; a+=1 )
array[a ] =0;
這是一個數(shù)組的初始化,將整個數(shù)組初始化為0。array[a ]的定位方法比較特別,按照作者的意思是在計算array
關鍵字:
C 指針
在以前也使用過指針的運算,但是在這本書里作者詳細的介紹了指針的“算數(shù)運算”、“關系運算”。指針的算數(shù)運算一般是 指針±整數(shù)。實現(xiàn)起來非常簡單,我有位同事在CRC校驗時也使用了。我們可以摘錄一段。
U16 CRC;
U8 CRCH, CRCL;
U8 *pUNChar;
CRC = out_crc(UART0.RX_buf,UART0.RX_count-2);
pUNChar = &CRC;
CRC
關鍵字:
C 指針
指針在C語言編程中應用廣泛。并且與數(shù)組有交集。很多情況下數(shù)組與指針結合使用可以事半功倍。我們可以聲明一個數(shù)組,并且將其初始化。
int arrary[10]={ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
數(shù)組在聲明時可以同時初始化。以上語句的結果就是聲明一個數(shù)組,同時初始化該數(shù)組。等價于以下語句:
int arrary[10];
int i;
for( i = 0; i < sizeof (arrary ); i++ )
{
arr
關鍵字:
C 指針
指針在C語言編程中應用廣泛。并且與數(shù)組有交集。很多情況下數(shù)組與指針結合使用可以事半功倍。我們可以聲明一個數(shù)組,并且將其初始化。
int arrary[10]={ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
數(shù)組在聲明時可以同時初始化。以上語句的結果就是聲明一個數(shù)組,同時初始化該數(shù)組。等價于以下語句:
int arrary[10];
int i;
for( i = 0; i < sizeof (arrary ); i++ )
{
arr
關鍵字:
C 指針
數(shù)組是C語言重要的概念,指的是相同類型、地址連續(xù)的一組數(shù)。一般是由數(shù)組名譽下標組成。在MODBUS通訊過程中使用數(shù)組作為寄存器的實現(xiàn)方式再合適不過了。雖然在實際情況中因為每個變量的類型不盡相同,但是為了歸一化處理問題,只有選擇容量大的類型。比如一組實際參數(shù)中有char型數(shù)據又有int 數(shù)據,那就全部使用int類型。雖然浪費了一些RAM空間,但是為通訊程序設計簡化創(chuàng)造了條件,也為其他模塊的設計奠定了基礎。
我們摘取同事的參見一個例子:
#define SYS_RUN_PARA_ADD_BAS
關鍵字:
C 指針
函數(shù)是各種編程語言中都有的概念。早2000年之前,好些大學的教學課程是PASCAL。 從概念上來說函數(shù)的概念沒有發(fā)生任何變化。函數(shù)一般是處理數(shù)據的工具,可以進行模塊性開發(fā)。有點像機械**中各個零件。將各個零件組裝起來就成為系統(tǒng)工具。也就是軟件也可以采用工程管理方法來進行生產,代碼重用性也得到了增強,比如我從來沒有編寫過冒泡的排序,只是簡單的使用。
從返回值來劃分函數(shù)分為有返回值和沒有返回值。從參數(shù)的角度劃分可以分為有參數(shù)和無參數(shù)。在使用函數(shù)的過程中我從來沒有認真的考慮參數(shù)的具體含義。如果靜下心來
關鍵字:
C 指針
關于指針變量的解引用在該書中有另外一種說法----“間接訪問”。我認為“間接訪問”比較能更好的表達*Point實際含義。我不知道英文版中是怎么描述的,但是這種翻譯方法更能表達指針的物理含義。在我的同事中“解引用”說法比較流行。“間接訪問”徹底表達了指針變量和指針內容的意義。
通過以下語句可以簡單了解指針的意義。
int a = 112;
int b = -1;
float c = 3
關鍵字:
C 指針
我平時不太看書。倒不是我沒有讀書的習慣。而是如今的社會知識傳播的方式太多。書已經不是唯一知識的載體。至于“書是人類知識的階梯”這句名言的時代已經過去了。每天各種微信公眾號推介的文章已經夠看了。特別是專業(yè)微信公眾號內容特別豐富。所以我已經不看書好多年了。
最近事情比較少,我在單位的書架上發(fā)現(xiàn)了一本《C與指針》這本書,常年閑置已經落滿灰塵。我翻看了兩章后,由于這本書年代久遠,紙張已經非常脆弱。所以我上網訂購了一本嶄新的。我以后的半個月我瀏覽這本書。只能是瀏覽470多頁的書要讀
關鍵字:
C 指針
引言
指針式(或模擬式)萬用電表,雖然有被數(shù)字式萬用電表取代之勢,但因其獨特優(yōu)點:“便于觀察被測量連續(xù)變化,測量項目較多,操作簡單,價格低廉,攜帶方便,是一種最普及、最常用的電測儀表”,故目前在市場中仍占有相當大的份額。
與數(shù)字式萬用電表比較,指針式萬用電表的準確度略顯遜色,這不但與生產廠家的設計與制造技術水準有關,也與使用者的使用方法有關。從制造者的角度看,由于技術水準所限,電壓測量檔總會有誤差,從而引起電感、電容測量的誤差;從使用者的角度看,儀表指針指示范圍選擇
關鍵字:
萬用電表 電容測量 電感 電容器 指針
正如前一篇博客所說的,但凡人都是急功近利和有惰性的,都不喜歡花時間去閱讀那些我們認為枯燥的文字描述,喜歡直接進入主題。但是有時候恰恰就是因為我們的這種急功近利和惰性,使得我們繞了很大一個彎,到最后還是回到了文字描述上來,所以我覺得適當?shù)奈淖置枋鱿?,讓讀者對于文章的整體有個大概的認識之后,再去學習能收獲更好的效果。我的前兩篇關于C指針的博客用的摘要都是copy我第一篇C指針博客的摘要,當然這篇也不例外,還是會引用我第一篇博客的摘要,只是在引用摘要之前我要先交代件事兒,就是關于函數(shù)指針和指針函數(shù)、以及指針
關鍵字:
C語言 指針
指針介紹
指針目錄
1、信息學的指針概述
2、內存分配表
3、指針就是一個整數(shù)
4、C 的按值傳遞
5、*和&運算
5'、另類的*和&
6、雙重指針(指向指針的指針)
7、指針數(shù)組、數(shù)組指針和指向函數(shù)的指針
8、指針的作用
其他解釋:鐘表的指針 1、信息學的指針概述
2、內存分配表
3、指針就是一個整數(shù)
4、C 的按值傳遞
5、*和&運算
5'、另類的* [
查看詳細 ]
關于我們 -
廣告服務 -
企業(yè)會員服務 -
網站地圖 -
聯(lián)系我們 -
征稿 -
友情鏈接 -
手機EEPW
Copyright ?2000-2015 ELECTRONIC ENGINEERING & PRODUCT WORLD. All rights reserved.
《電子產品世界》雜志社 版權所有 北京東曉國際技術信息咨詢有限公司
京ICP備12027778號-2 北京市公安局備案:1101082052 京公網安備11010802012473