程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> c語言-C語言數組刪除指定數值問題....

c語言-C語言數組刪除指定數值問題....

編輯:編程綜合問答
C語言數組刪除指定數值問題....

int b;
int a[5] = { 1, 2, 3, 4, 5 };

scanf_s("%d",&b);
int r = 0;
int i;

for ( i = 0; i<5; i++){
    if (b == a[i]){//要刪除的數據
        a[i] = r;
    }
    else{
        printf("%d\n",a[i]);
    }
}//這樣的話確實能刪除一個數,但是如果我真的想把數值0膚賦值給數組中的元素呢?怎麼辦?

最佳回答:


應該不算刪除數組元素,只是把要刪除的元素賦值為0值了
if (b == a[i]){//要刪除的數據
a[i] = r;
}
輸出顯示是,輸出了所有不需要刪除的元素,這樣從輸出顯示來看貌似刪除數據,但內存中數據仍存在,占有內存空間,只不過此時值被修改為0。
對數組,或者順序空間元素刪除,一般需要數據搬移,需要把後面的數據往前搬移,覆蓋刪除的空間,這樣使內存空間緊湊,不至於零散碎片化。正是由於搬移的原因,有時數據存儲采用鏈表結構,而不采用順序表~

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved