如何在C中不使用固定長度數組的情況下輸入字符數組? 我被賦予了C中的中心字符串,並被告知不要使用固定大小的數組。C中沒有固定大小的字符數組
2
A
回答
4
創建無固定尺寸的陣列的唯一方法是通過使用malloc
,它接受要分配的存儲器的尺寸(以字節爲單位)。然後您將使用它作爲char*
,它也可以容納數組語法。 不要忘記測試返回值是非零(這是方式malloc
表明你是內存不足)。
您所使用的內存完成後,你則負責與free
其釋放回系統。
例如:
size_t size = 42; // you can read this from user input or any other source
char* str = malloc(size);
if (str == 0) {
printf("Insufficient memory available\n");
}
else {
// Use the memory and then...
free(str);
}
3
查找的malloc
和realloc
的功能。
我假定非固定尺寸是指動態分配的數組 - 其可以使用malloc
獲得。
0
你可以做dynamic memory allocation by malloc
。
int main()
{
int i;
printf ("How long do you want the string? ");
scanf ("%d", &i);
char *buffer = malloc (i+1);
}
相關問題
- 1. C#中的固定字符串大小#
- 2. 動態字符數組,大小固定?
- 3. 在堆棧上聲明固定大小的字符數組C++
- 4. C#數組沒有指定的大小
- 5. 固定大小的數組
- 6. C++字符串到固定大小的字符數組可能嗎?
- 7. C(動態)數組(固定大小)
- 8. 定義一個沒有固定大小的雙數組?
- 9. 具有模板參數相關大小的固定大小C數組
- 10. 在numpy的固定大小的數組中取出固定大小的約束
- 11. C++如何將大字符串放入固定char數組中
- 12. 如何將數組分解爲固定大小的小數組? (在C中)
- 13. 調整字符數組的大小c
- 14. 如何在C++中聲明一個數組的固定大小
- 15. 如何動態增加C#中固定數組的大小?
- 16. 在C++中傳遞固定大小的數組?
- 17. MongoDB固定大小的數組實現
- 18. C++固定大小鏈表
- 19. Novacode DocX C#中的固定表大小#
- 20. 循環的固定大小的數組而不用C
- 21. svg固定字體大小
- 22. 沒有可選字段的協議緩衝區:固定大小?
- 23. UINavigationBar的後退按鈕沒有文字和固定大小
- 24. 字符串數組沒有小數?
- 25. 在java中生成具有固定大小的數字
- 26. C指向固定大小數組的指針
- 27. C++ WCHAR:無法分配固定大小的數組0
- 28. 固定在Firefox中的字體大小?
- 29. recv()字符數組大小
- 30. 將python long/int轉換爲固定大小的字節數組
**電話**不要從`malloc`將返回值。在C語言中,最好是冗餘的,並且可能隱藏編譯器在沒有投射的情況下會捕獲的錯誤。 – pmg 2011-12-16 23:09:41
@pmg你可以舉一個例子,其中編譯器隱藏了一個實際的錯誤信息。我試圖製作一個,但失敗了。 – Mahesh 2011-12-16 23:11:20