回答
void* space_to_use = malloc(size);
// malloc always return void pointer that means it can be typecast to any type.
// before using void pointer it is necessary to typecast it into proper type.
// for example:-
// if size is 8 byte.It will allocate 8 byte of memory.
/*
void* space_to_use = malloc(size);
char * ptr = (char*)space_to_use;
*/
// These two line can be combine in one statement.
char * ptr = (char*)malloc(size*sizeeof(char));
// NOTE:sizeof(char) is to make sure platform independent.
// Same for int if we want to store some integer.
int * ptr = (int*)malloc(size*sizeeof(int));
僅供參考:'sizeof char'被定義爲始終爲'1',因此從來沒有必要通過它。但是,CHAR_BIT定義可能不同。 –
另請參閱[我是否投出了malloc的結果?](https://stackoverflow.com/questions/605845/do-i-cast-the-result-of-malloc) –
是的,它會一直是一個字節,但它將泛型整數表示爲整數*或結構變量或指針。我們需要添加sizeof(int)或sizeof(int *)或sizeof(strcuct abcd),所以如果我們提到sizeof(char),它不會損害任何東西。 – Rohit
- 1. 將值分配給void *
- 2. 無法將類型'Void'(aka'()')的值分配給類型'() - > Void'
- 3. 如何將void * pointer1分配給void * pointer2?面臨一些問題
- 4. 從不兼容類型'void(Button :: *)(int)'分配給'void(*)(int)'
- 5. 類型Void []數組不可分配給類型void
- 6. 在C++中用void *分配內存結構內存分配
- 7. 2darray動態分配void函數
- 8. 全局分配函數和const void *
- 9. 與void *類型內存分配混淆?
- 10. 由void函數分配3d陣列
- 11. 錯誤:類型爲「void(opca_hello ::)()」的參數不匹配「void *(*)(void *)」
- 12. 分配給void delegate的lambdas放棄C#中的非void返回類型嗎?
- 13. std :: map的預分配<unsigned long long,void *>,如何正確預分配?
- 14. Promise:類型void的參數不能分配給類型T
- 15. void void
- 16. Angular Promise <void>'不可分配到類型
- 17. 當結構有void *指針時,我該如何分配值
- 18. void'不能分配給參數類型'(value:User [],index:number)=>布爾型'
- 19. iOS錯誤:從NSArray對象(類型'void')分配給NSMutableString?
- 20. 從不兼容類型'int'分配'int(^ __ strong)(void)'
- 21. C++錯誤(從不兼容類型'void'分配給TreeNode *)
- 22. Angular TypeScript錯誤:類型'void'不可分配爲鍵入'boolean'
- 23. 類型爲void是不能分配給輸入任何
- 24. 類型Promise <void>不可分配類型Promise <customType []>
- 25. $ .grep返回類型爲void是不能分配給boolean類型
- 26. 錯誤:語義問題從不兼容類型'void'分配'int'
- 27. 從不兼容類型'void *'分配'uint8_t *'(aka'unsigned char *')'
- 28. 錯誤:從不兼容類型分配void
- 29. void(* foo)(void):最新(void)的含義
- 30. (void **)&x和(void *)x有什麼區別?
不可能複製粘貼整本C語言書中。得到任何書,答案是在第10頁。 –
可以是任何你想要的 –
很難從這段代碼中推斷出使用內存塊的目的。也許它不打算具體使用。 – BLUEPIXY