簡體   English   中英

檢查分配的內存大小

[英]Checking size of allocated memory

我正在編寫一個程序,該程序接受數組的大小作為參數,然后應為該大小動態分配內存。

我希望我的程序返回分配的內存大小。 目前,我正在使用argv讀取輸入值,然后使用mmap進行動態分配。 我還使用for循環顯示在數組的每個索引中保存的數字。

我知道可以使用malloc進行分配,但是我無法使用它。 我想我需要從最后一個元素開始,檢查所有單元格,直到得到SEGFAULT信號。

謝謝你的幫助。

編輯:沒有庫等的短代碼...

input = (atoi(argv[1]));
int* arr = mmap(0, input, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, fd, 0);

for (i = 0; i < input; i++) {
    arr[i] = i + 1; 
}

您無法檢查C中分配的空間量,也無法檢查數組的大小。 您需要自己將其顯式保存為變量。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM