有陣列,C語言可以怎麼樣知道它的長度

2022-07-11 00:15:16 字數 697 閱讀 5503

1樓:手機使用者

沒有辦法求出陣列長度,只有自己時刻儲存 沒有陣列的越界檢查是c的一個很大問題,根本原因就是 陣列在經過c編譯後是以地址形式儲存,根本就沒有長度資訊 有人說用以下方法 len=sizeof(a)/sizeof(int) 但這個len的值是編譯器給的,你把他做成求陣列長度的子函式根本行不通,你得到的是變數的長度

2樓:漩子愛你

可以在最後設一個值用來標誌!再用迴圈找到下標!那麼那前一個下標值就是它的長度

3樓:憽人邷

動態陣列可以使用動態記憶體分配來實現: int*a 然後通過 sizeof(a)/sizeof(int*) 獲得。 具體**可能有出入,僅作思路說明。

4樓:dd神甲

陣列的長度必須在編譯時就要知道 也就是說陣列的長度是你自己指定的 當然如果是動態陣列,你就需要記錄陣列的個數

5樓:小超

陣列長度必須在執行前就定義好的哦~不可以改變的 如果是要接收字串的話可以用指標

6樓:仰蘊秋梵

用動態陣列吧,如果是在程式執行時才通過輸入確定陣列大小的話,建議用連結串列.

7樓:猖狂威

在鍵盤上輸入任意個數字,賦給一個未定義長度的陣列。。 這本來就是不可能實現的!! 在c語言中

C語言陣列中的刪除元素怎麼寫,C語言陣列中的刪除一個元素怎麼寫

直接把元素後一位覆蓋前一位就行了 最後把陣列最後一位清空即可 include main c語言中怎麼刪除陣列中的一個元素 方法 刪除就是將其下 copy標所在位置的中的內容置為空 也就是0 然後從此位置開始,後面的內容前移,再把最後那個位置的置為空 就是0 前移無非就是 類似 arr i 1 arr...

怎麼用c語言求陣列中所有數的整數部分和及小數部分和

include voidmain doubles inta doubleb printf pleaseinputadoublenumber scanf lf s a int s b s a printf ln d lf a,b 擴充套件資料c語言求100內素數 include usingnamesp...

1 C語言中,陣列名是不可變的()量,不能對它進行加 減和賦值運算

陣列名是來指標常量,自不能進行賦值,可以在表bai達式中作為參du數參與加減。比如zhi char s 10 s表示一個指dao向陣列首地址的指標常量,printf c s 1 可以列印s 1地址的值。但s 不行,因為s 相當於s s 1 賦值就不行了。c語言中,陣列名是一個不可變的 地址常 量,不...