我正在編寫的程序的一部分需要使用malloc創建數組,而不是使用常規方式創建它。我必須讓用戶輸入一個數字,爲該數字指定名稱MAX,然後使用帶有數字2的malloc()創建一個數組,通過輸入的數字。我將如何去編碼這個?如何使用C中的malloc()創建一定大小的數組?
回答
通過指定數組的大小(以字節爲單位)並將返回值分配給相應類型的指針,您可以創建一個帶有malloc()
的「數組」。如果您打算將其設置爲大於一個字節的對象數組,則可以將對象數乘以對象大小,這可以使用運算符sizeof
獲得。
例如,你可以像這樣創建50個int
對象的 「數組」:
int *ar = malloc(50 * sizeof (int));
謝謝!這就是我需要知道的。 – user2313123
當我這樣做時,我得到一個錯誤說:預期聲明或輸入末尾語句 int * ar = malloc(50 * sizeof(int)); – user2313123
如果您使用的是足夠舊的C編譯器,例如Microsoft Visual Studio,它將不支持混合的語句和聲明。把'int * ar = NULL;'放在函數的開頭,並且在你需要分配的地方放上'ar = malloc(whatever);'。當然,一定要用適當的值代替「無論」。 –
你可以做到這一點:
T *dynamic_memory;
....... //Get the desired array size from user input and store in 'array_max_size'
dynamic_memory=malloc((sizeof(T) * array_max_size);
T
:數組的數據類型
然後,您可以使用dynamic_memory
爲您的目的。
- 1. 如何在c中創建一個不同大小的數組的數組?
- 2. 如何創建一個大小爲40,000的C++ bool 2D數組?
- 3. 使用Malloc創建的訪問數組
- 4. C動態改變使用malloc和memcpy的數組大小的大小
- 5. C# - 創建一個固定大小的'var'數組?
- 6. 如何用PHP預定義大小創建一個空數組?
- 7. 如何在C中創建動態大小的數組?
- 8. 如何在C#中創建固定大小的字節數組用戶類型?
- 9. 如何創建一個動態調整大小的數組,或在c#中重新調整數組的大小?
- 10. 如何在C中使用malloc獲取* char的大小?
- 11. malloc和整數數組的realloc大小
- 12. 創建一個結構數組,創建一個數組,大小C
- 13. 使用Malloc()創建一個整數數組使用指針
- 14. 如何更改C++中的malloc()分配的最大大小
- 15. free()C中的2D數組使用malloc
- 16. 如何在C++中聲明一個數組的固定大小
- 17. 如何從一個較大的數組創建一個較小的數組python
- 18. 如何使用malloc在C語言中創建動態字符串數組
- 19. 如果在C中沒有使用指定大小的括號,數組指針是如何創建的?
- 20. 如何創建給定大小的數組(陣列數組)的層數
- 21. 如何創建一個給定大小
- 22. 如何在C++中使用動態尺寸大小創建數組?
- 23. 不能在C中創建自定義數組大小表?
- 24. C++創建一個字符串::大小的數組
- 25. 創建一個字符數組malloc
- 26. 使用隨機數創建自定義數組大小
- 27. 如何創建一個動態數組,使其大小保持在目標c?
- 28. C#用戶定義的數組大小
- 29. 在C#中的數組大小確定
- 30. 豬 - 創建給定大小的組
從一本好書開始。 – Rohan
那種在早上1時在朋友家裏很難做的事情...... – user2313123
這就是爲什麼我會潛入Interweb。 –