請問這樣子是什么情況 要怎么才能得到陣列的長度為8
uj5u.com熱心網友回復:
沒辦法,只能自己控制比如陣列初始化每個元素為0,然后回圈統計有幾個非0的元素
uj5u.com熱心網友回復:
像是sizeof(s)/sizeof(s[0])這樣子都不可以嗎 那如果用戶輸入十幾個數字 我要怎么知道這個長度呢uj5u.com熱心網友回復:
堆疊中的變數通常包括函式引數和函式里宣告的臨時變數。堆疊中的基本變數退出其作用域時,沒有誰執行一段代碼去釋放/銷毀/析構它所占用的記憶體,僅僅是沒人再去理會的留在當前堆疊頂上方的若干遺留下來可被后續壓堆疊操作覆寫的無用資料而已。
而堆疊中的類變數退出其作用域時,會自動執行其解構式,……
其實電腦開機后物理記憶體的每個位元組中都有值且都是可讀寫的,從來不會因為所謂的new、delete或malloc、free而被創建、銷毀。區別僅在于作業系統記憶體管理模塊在你讀寫時是否能發現并是否采取相應動作而已。作業系統管理記憶體的粒度不是位元組而是頁,一頁通常為4KB。
為什么要有資料結構這個東東?
因為要將現實世界或者抽象理論中的各種資料保存在計算機外存(光碟、硬碟、U盤……)或記憶體(ROM、RAM、SRAM……)里面的二進制位元組陣列中。
然后讓CPU這個只會執行預先保存好的加減乘除移位條件轉移……等機器指令的家伙按照人的意志去處理這些資料。至于具體如何處理就是所謂演算法。
推薦使用WinHex軟體查看硬碟或檔案或記憶體中的原始位元組內容。
uj5u.com熱心網友回復:
電腦記憶體或檔案內容或傳輸內容只是一個一維二進制位元組陣列及其對應的二進制地址;人腦才將電腦記憶體或檔案內容或傳輸內容中的這個一維二進制位元組陣列及其對應的二進制地址的某些部分看成是整數、有符號數/無符號數、浮點數、復數、英文字母、阿拉伯數字、中文/韓文/法文……字符/字串、匯編指令、函式、函式引數、堆、堆疊、陣列、指標、陣列指標、指標陣列、陣列的陣列、指標的指標、二維陣列、字符點陣、字符筆畫的坐標、黑白二值圖片、灰度圖片、彩色圖片、錄音、視頻、指紋資訊、身份證資訊……
uj5u.com熱心網友回復:
沒辦法,你只能自己記錄這個長度很多資料結構用個length變數來自己統計,增加元素則length++,洗掉元素則length--
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/144563.html
標籤:C語言
