麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

C語言指針高級部分:void指針和數據指針

2019-11-14 09:27:21
字體:
來源:轉載
供稿:網友

概念

void指針數據指針
void指針

void指針的基本概念

void的意思就是“無類型”,void指針則為“無類型指針”,void指針可以指向任何類型的數據。所以void指針一般被稱為通用指針或者泛指針,或者叫做萬能指針

定義形式 : void *p;

**在C語言中在任何時候都可以用void類型的指針來代替其他類型的指針,void指針可以指向任何數據類型的變量****如果要通過void指針去獲取它所指向的變量值時候,需要先將void指針強制類型轉換成和變量名類型想匹配的數據類型指針后再進行操作;**指針的強類類型轉化: void *p; int *pa = (int *)p; 然后才能對原來的void指針指向的空間進行操作任何類型的指針都可以賦值給void指針,無需進行強制類型轉換; float f = 1.22f; float *p1 = &f; p = p1;//將float指針賦值被p

void指針的應用場合: 當進行純粹的內存操作的時候,或者傳遞一個指向未定類型的指針時,可以使用void指針; void* memcpy(void *addr1,void *addr2,size_t n); 該函數只進行純粹的內存拷貝,包括NULL字符在內的任何內容都將被拷貝

1:對函數參數的限定2:對函數返回的限定3:void指針也常用作函數指針

代碼如下所示:

#include<stdio.h>int main(void){ int num1 = 1; char char1 = 'b'; /*定義兩個void指針類型*/ void *void_pointer_1; void *void_pointer_2; /*給不同的void指針指向不同的數據類型*/ void_pointer_1 = &num1; void_pointer_2 = &char1; 數據指針

數據指針的概念: 在嵌入式編程當中,可能在特定的內存但愿讀寫內容,匯編有對應的MOV命令,而除了C/C++以外的編程語言基本上沒有直接訪問內存的能力 利用數據指針可直接 通過內存地址操作特定的內存

如:在地址0XFF00FF00對應的內存但愿中寫入11unsigned int *p = (unsigned int *)0XFF00FF00;*p = 11;

數據指針操作特定的內存的時候一定要謹慎,不是所有內存都可以操作,必須要對硬件比較了解后,才能進行操作(可能會出現段錯誤)

代碼能夠run,如果有需要的話,可以直接拉下來run一下,看看結構體數組是怎么進行初始化操作和使用的。謝謝大家的訪問,如有寫的不好的地方,希望大家能夠及時的提出來,謝謝觀看


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 欧美亚洲啪啪 | 特级毛片a级毛片100免费 | 国产成人综合在线观看 | 精品一区二区久久久久久按摩 | 久久小视频 | 亚洲欧美国产高清va在线播放 | 久久久久久久久久亚洲精品 | 国产精品av久久久久久网址 | 中文字幕 在线观看 | 性明星video另类hd | 九色免费视频 | 牛牛a级毛片在线播放 | 成人国产在线看 | 刘亦菲一区二区三区免费看 | 欧美a∨一区二区三区久久黄 | 成人毛片100部免费观看 | 欧美毛片在线观看 | 久久日韩在线 | xfplay噜噜av| 性少妇videosexfreexx入片 | 小情侣嗯啊哦视频www | 欧美第1页| 99最新地址 | 久久出精品 | 毛片视频网站 | 久久看视频 | 国产精品美女久久久久久不卡 | 国产乱free国语对白 | 黄色大片网站在线观看 | av噜噜在线| 国产精品久久久久久久久久尿 | 国产一级一级片 | 成人影片在线免费观看 | 欧美第1页 | 欧洲精品久久久 | 黄视频免费在线 | 三级xxxx| 超久久| 黄网站进入 | 99999久久久久久 | 九九视频在线观看黄 |