void型別指標在c語言中被稱為通用指標或者泛指針,主要目的是針對純粹的位址操作。void型指標指向某個物件,但是該物件不屬於任何型別。因此在ansic中無法對其進行+/-操作,但是在gnu中是可以的,原因是gnu將其與char型別的操作視為相同(linux下將void*看成是char*)。
(1) 有型別的指標可以自動轉換成無型別的指標
(2) 無型別的指標可以自動轉換成有型別的指標(c++中需要強制轉換)
#include
#include
#include
#include
#define n 64
void*memory(void *dest, const void *src, size_t size)
assert((dest!=null) &&(src!=null));
void *address = dest;
while (size--)
//*(char*)dest = *(char*)src;
//dest = (char*)dest + 1;
//src = (char*)src + 1;
*dest = *src;
dest++;
src++;
return address;
int main(void)
char *str1 =(char*)malloc(n*sizeof(char));
char *str2 =(char*)malloc(n*sizeof(char));
gets(str1);
printf("inpust str1 = %s\n",str1);
int len1 = strlen(str1);
str2 = memory(str2, str1, len1);
printf("output str2 = %s\n",str2);
參考**:
void型別及void指標型別
許多初學者對c c 語言中的void及void指標型別不甚理解,因此在使用上出現了一些錯誤。本文將對void關鍵字的深刻含義進行解說,並詳述void及void指標型別的使用方法與技巧。2.void的含義 void的字面意思是 無型別 void 則為 無型別指標 void 可以指向任何型別的資料。vo...
void及void指標型別
1.概述 許多初學者對c c 語言中的void及void指標型別不甚理解,因此在使用上出現了一些錯誤。本文將對void關鍵字的深刻含義進行解說,並 詳述void及void指標型別的使用方法與技巧。2.void的含義 void的字面意思是 無型別 void 則為 無型別指標 void 可以指向任何型別...
void型別及void指標
基於前面的一篇部落格模擬實現 memcpy 和 memmove 時用到的void 指標展開關於 void 和 void 指標的概述 1.void 相信大家不會陌生,經常定義無返回值的函式是用 void 定義,表示函式無需返回值 void fun void 2.void 的字面意思是 無型別 void...