void型別指標

2021-07-10 05:19:41 字數 955 閱讀 2745

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...