那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

void指針的特性介紹

CHANBAEK ? 來源:硬件工程師技術干貨 ? 作者:硬件工程師技術干 ? 2023-03-14 14:44 ? 次閱讀

1、指針介紹:

普通類型指針,包含兩個方面,一個是指向此類型變量的地址,另外一個是指向變量的長度。 如下:

*int p:

p指針指向int類型變量,p++相當于地址加4(32位處理器)。

*unsigned char p:

p指針指向unsigned char類型變量,p++相當于地址加1。

2、void指針有以下特性

1、void型指針比較特殊,一般稱作泛指針,它沒有任何類型,更沒有了長度屬性。

2、任何類型指針都可以賦值給void類型指針,并且不需要強制轉換,也不會出現編譯警告或者編譯錯誤。 但是反過來則不行,必須進行強制轉換才能賦值。 強制轉換為了告訴編譯器類型以及長度。

3、void型指針在ANSI規則下不能自加自減等,如下代碼都是錯誤的。

//ANSI規則下以下運算都是錯誤的
void *p;
int data;


p++;
p--;
p = p + 1;
data = *p;

4、但是void指針在GNU規則下可以自加自減等,GNU認為void類型指針長度和char類型長度一樣。 鑒于兩種規則的不同,我們編寫代碼是要做好兼容性,防止代碼移植出現不可預知問題。

//GNU規則下以下運算正確
void *p;
p++;
p--;
p = p + 1;
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 指針
    +關注

    關注

    1

    文章

    481

    瀏覽量

    70609
  • 變量
    +關注

    關注

    0

    文章

    613

    瀏覽量

    28465
  • 編譯
    +關注

    關注

    0

    文章

    661

    瀏覽量

    33040
  • GNU
    GNU
    +關注

    關注

    0

    文章

    143

    瀏覽量

    17542
  • void
    +關注

    關注

    0

    文章

    23

    瀏覽量

    9900
收藏 人收藏

    評論

    相關推薦

    void指針簡述

    為何在這里單獨提到空指針類型呢?主要是因為該指針類型很特殊。void類型很容易讓人想到是空的意思,但對于指針而言,其并不是指空,而是指不確定。在很多時候
    的頭像 發表于 09-09 08:57 ?1733次閱讀
    <b class='flag-5'>void</b><b class='flag-5'>指針</b>簡述

    請問如何傳入void *指針給dll函數

    Labview新手,要調用dll中的一個函數,它接收一個void *指針,然后把地址傳出來。我接著要用這個地址傳給它的另外一個函數。c語言的調用是這樣的。void *ptr.A(&ptr);B(ptr);請問labview該如何
    發表于 05-02 13:57

    【設計技巧】指針的使用注意事項:空指針指針賦值、void *指針

    的類型多么復雜,比如一個特別大的結構體,它的指針和一個 char型指針的大小本質上是一樣的,因為指針就是起始地址。 正式由于這個原因,(void )型
    發表于 08-20 08:30

    什么是void指針void指針有何功能

    [導讀] 要比較靈活的使用C語言實現一些高層級的框架時,需要掌握一些進階編程技巧,這篇來談談void指針的一些妙用。測試環境采用 IAR for ARM 8.40.1什么是void指針
    發表于 02-21 06:01

    C語言voidvoid指針深層探索

    1.概述 本文將對void關鍵字的深刻含義進行解說,并詳述voidvoid指針類型的使用方法與技巧。 2.void的含義
    發表于 09-21 11:36 ?166次下載

    C語言指針函數和函數指針詳細介紹

    C語言指針函數和函數指針詳細介紹。。。。。。。
    發表于 03-04 15:27 ?5次下載

    深入了解void指針背后的機理

    當使用關鍵字void聲明指針變量時,它將成為通用指針變量。任何數據類型(char,int,float等)的任何變量的地址都可以賦值給void指針
    發表于 05-06 09:49 ?1390次閱讀

    淺談void指針的高階用法

    要比較靈活的使用C語言實現一些高層級的框架時,需要掌握一些進階編程技巧,這篇來談談void指針的一些妙用。測試環境采用 IAR for ARM 8.40.1 什么是void指針
    的頭像 發表于 08-09 15:54 ?1691次閱讀
    淺談<b class='flag-5'>void</b> 型<b class='flag-5'>指針</b>的高階用法

    void指針的高階用法,你掌握了嗎?

    關注+星標公眾號,不錯過精彩內容轉自 | 嵌入式客棧要比較靈活的使用C語言實現一些高層級的框架時,需要掌握一些進階編程技巧,這篇來談談void指針的一些妙用。測試環境采用 IAR for ...
    發表于 12-02 12:36 ?8次下載
    <b class='flag-5'>void</b> 型<b class='flag-5'>指針</b>的高階用法,你掌握了嗎?

    STM32編程:void指針高階用法舉例,設計一個通用掉電存儲子系統

    [導讀] 要比較靈活的使用C語言實現一些高層級的框架時,需要掌握一些進階編程技巧,這篇來談談void指針的一些妙用。測試環境采用 IAR for ARM 8.40.1什么是void指針
    發表于 12-27 18:47 ?10次下載
    STM32編程:<b class='flag-5'>void</b><b class='flag-5'>指針</b>高階用法舉例,設計一個通用掉電存儲子系統

    STM32編程:void指針高階用法

    [導讀] 要比較靈活的使用C語言實現一些高層級的框架時,需要掌握一些進階編程技巧,這篇來談談void指針的一些妙用。測試環境采用 IAR fo...
    發表于 02-07 11:14 ?2次下載
    STM32編程:<b class='flag-5'>void</b><b class='flag-5'>指針</b>高階用法

    C語言-void類型作為萬能指針類型

    空類型`。 void abc; //這是錯誤的 但是`void`是可以定義指針的,`void*`表示萬能型指針類型,可以與任何
    的頭像 發表于 08-14 10:04 ?1880次閱讀

    一文揭秘C語言的void指針

    void *表示一個“不知道類型”的指針,也就不知道從這個指針地址開始多少字節為一個數據。和用int表示指針異曲同工,只是更明確是“指針”。
    的頭像 發表于 02-02 17:18 ?1644次閱讀

    什么是void指針

    C語言中,*類型就是指針類型,比如 int *p,double *q,雖然是不一樣的指針,但是大小卻一樣sizeof(p) == sizeof(q),因為它們都是同一種類型*類型的。C語言是強類型的語言,對類型的區分十分嚴格,不同的類型占據的空間大小不同,地址偏移量也會不
    的頭像 發表于 02-13 15:02 ?1438次閱讀

    如何理解C++中的void

    首先void*中的void代表一個任意的數據類型,"星號"代表一個指針,所以其就是一個任意數據類型的指針
    的頭像 發表于 03-30 15:01 ?4309次閱讀
    如何理解C++中的<b class='flag-5'>void</b>?
    左云县| 网上百家乐官网洗码技巧| 百家乐官网娱乐城游戏| 网上百家乐官网必赢玩| 大玩家百家乐现金网| 水果机| 优博百家乐官网现金网| 百家乐官网职业打| 盛大百家乐的玩法技巧和规则| bet365扑克| 百家乐官网qq游戏| 菲律宾百家乐娱乐场| 利都百家乐官网国际赌场娱乐网规则 | 百家乐官网翻天快播| 百家乐趋势图怎么看| 辽宁棋牌游戏大厅| 百家乐官网赌场大赢家| 百家乐秘| 湄潭县| 成都南偏西24度风水| 大发888 娱乐游戏| 百家乐官网视频无法显示| 真人百家乐平台排行| 世界顶级赌场酒店| 百家乐官网服务区| 网上百家乐试玩网址| 百家乐官网庄闲客户端| 网上百家乐导航| 现金投注网| 属虎和属鼠合伙做生意| 大发888bet下载| 百家乐官网真人游戏赌场娱乐网规则 | 百家乐官网开户送8彩金| 百家乐游戏辅助| 彰武县| 百家乐和局投注法| 大发888娱乐场df888| 中国百家乐官网的玩法技巧和规则| 威尼斯人娱乐城存款多少起存| 南乐县| 誉博百家乐开户导航|