萬能的指標

2021-07-31 13:22:39 字數 1246 閱讀 4949

void指標:

void指標一般被稱為通用指標或泛指針,它是c語言關於"純粹位址「的一種約定。void指標指向某個物件,但該物件不屬於任何型別。請看下例。

int * ip;

void *p;

在上例中,ip指向乙個整型值,而p指向的物件不屬於任何型別。

在c語言中,任何時候都可以用其他型別的指標來代替void指標,或者用void指標來代替其他型別的指標,並且不需要進行強制轉換。例如,可以把char*型別的指標傳遞給需要void指標的函式。

當進行純粹的記憶體操作時,或者傳遞乙個指向未定型別的指標時,可以使用void指標。void指標也經常用作函式指標。

有些c**只進行純粹的記憶體操作。在較早版本的c語言程式中,這一點是通過字元指標"char*"實現的,但是這容易產生混淆,因為人們不容易判定乙個字元指標究竟是指向一

個字串,還是指向乙個字元陣列,或者僅僅是指向記憶體中的某個位址。

例如,strcpyo函式將乙個字串複製到另乙個字串中,slcpyo函式將乙個字串中的部分內容複製到另乙個字串中。

char *strcpy(char'strl,const char *str2);

char *strncpy(char *strl, const char*str2, siz.e_t n);

memcpyo函式將記憶體中的資料從乙個位置複製到另乙個位置。

void *memcpy(void *addrl, void *addr2,size_t n);

memcpy()函式使用了void指標,以說明該函式只進行純粹的記憶體複製,包括null字元(零位元組)在內的任何內容都將被複製。請看下例。

#include"thingie, h"                   /*defines struct thingie */

struct thingie * p_src * p_dest;

/ *... * /

memcpy{p_dest, p_src ,sizeof (struct thingie ) * numthingies );

在上例中,memcpy()函式要複製的是存放在struct thingie結構體中的某種物件op_dest

和p_src都是指向struct thingie結構體的指標,memcpy()函式將把從p_src指向的位置開始的"sizeof(stuct thingie)*numthingies"個位元組的內容複製到從p_dest指向的位置開始的一塊記憶體區域中。對memcpy()函式來說,p_dest和p_src都僅僅是指向記憶體中的某個位址的指標。

萬能密碼 php,PHP萬能密碼

說實話如果乙個 的前台都是注入漏洞,那麼憑經驗,萬能密碼進後台的機率基本上是百分之百。可是有的人說對php的站如果是gpc魔術轉換開啟,就會對特殊符號轉義,就徹底杜絕了php注入。其實說這話的人沒有好好想過,更沒有嘗試過用萬能密碼進php的後台。其實gpc魔術轉換是否開啟對用萬能密碼進後台一點影響也...

mysql萬能 Mysql的萬能優化方法

在命令列執行 1.檢視優化器狀態 show variable like optimizer trace 2.會話級別臨時開啟 set session optimizer trace enabled on end markers in json on 3.設定優化器追蹤的記憶體大小 set optim...

萬能的應用商店 WiFi萬能助手

許可權列表 wifi萬能助手 獲取定位 允許應用通過網路或衛星對裝置進行定位 獲取額外的位置資訊提供程式命令 獲取額外的位置資訊提供程式命令。惡意應用程式可藉此干擾 gps 或其他位置源的正常工作。檢視網路狀態 允許應用程式檢視所有網路的狀態。開關wlan 允許應用開啟或關閉wlan 作為帳戶身份驗...