c++/ansi c:
void*指標只支援幾種有限的操作:與另乙個指標進行比較;向函式傳遞void指標或從函式返回void*指標;給另乙個void*指標賦值。不允許使用void*指標操作它所指向的物件,例如,不允許對void*指標進行解引用。不允許對void*指標進行算術操作。
gnu c:
gnu c指定void*指標的算術操作與char*一致。
void*表示「任意型別的指標」,主要運用於記憶體操作函式的形參型別和返回值型別(記憶體操作與記憶體中資料型別無關,即任意型別都可以)。
memcpy
原型:extern void *memcpy(void *dest, void *src, unsigned int count);
用法:#include
功能:由src所指記憶體區域複製count個位元組到dest所指記憶體區域。
說明:src和dest所指記憶體區域不能重疊,函式返回指向dest的指標。
注意:與strcpy相比,memcpy並不是遇到'\0'就結束,而是一定會拷貝完n個位元組。
memset
原型:extern void *memset(void *buffer, int c, int count);
用法:#include
功能:把buffer所指記憶體區域的前count個位元組設定成字元c。
說明:返回指向buffer的指標。
void 型別不能用來初始化char 型別的實體
最近在看黑馬c 教程,他們直接用test02 函式是可以直接執行的,而我用的是vs2019,會報錯,報錯內容為 void 型別不能用來初始化char 型別的實體。檢視了一些方法比如定義為const char 或者在屬性裡面設定符合模式為否都不好用。再看一遍報錯,void 型別不能用來初始化char ...
MySQL 只能用localhost不能用ip連線
如果本地主機能用ip連線,但其他計算機登陸不到,錯誤時10060時,一般是防火牆問題,關閉防火牆或允許3306埠即可 登入進去後用以下命令可以檢視許可權用 mysql use mysql mysql select user,host from user mysqluser,host from use...
藍芽不能用了
今天突然發現筆記本的藍芽不能用了,藍芽指示燈也沒有亮。使用 rfkill 檢查,發現被 block 了 rfkill list 0 tpacpi bluetooth sw bluetooth soft blocked yes hard blocked no 1 phy0 wireless lan s...