1樓:匿名使用者
可是那要是刪除陣列最後一個元素要怎麼弄? 忽略最後一個元素,陣列長度變小一個就可以了,不用動這個資料。
#include
void del_num( int *a , int n, int *cnt )
else
*p++=a[i] ;
}(*cnt) -= flag ;
}int main()
;int n ,cnt ;
cnt=8 ; //8個元素
scanf( "%d" , &n );
del_num( a, n , &cnt );
for( n=0;n printf( "\n" ); return 0;} 2樓:陳宗權 刪除一個元素,你肯定要用一個變數來記錄還剩下多少個有效元素。 刪除最後一個元素更簡單,你連移動覆蓋都省了,只需要把有效元素個數減1就可以了。 3樓:匿名使用者 1、普通陣列是不能被刪除的,出發是動態分配的記憶體。動態記憶體分配函式malloc建立陣列,直接使用free函式即可實現陣列刪除。 2、free函式: 原型:void free(void *ptr); 功能:釋放malloc(或calloc、realloc)函式給指標變數分配的動態記憶體; 標頭檔案:malloc.h或stdlib.h; 為了避免釋放已經釋放了記憶體的指標記憶體,或沒有釋放記憶體,在c語言中最好是在定義指標時賦初值null,釋放後立即賦null,釋放時檢查指標值再決定釋放就避免釋放錯誤了,例如: int *a = null int *b = (int*) malloc(sizeof(int) * 10); a= b; /* 執行大量操作後 */ if(a != null) if(b != null) ---------------------------------- c語言中刪除一個陣列元素
30 4樓:匿名使用者 一般的陣列元素無法刪除,只能將值改變為另一個特定的值,然後發現這個值就直接轉向下一個元素. 用連結串列可以刪除表中的一個結點. 5樓:匿名使用者 可以不輸出 也可以把要輸出的部分存入另一個陣列 最好用連結串列 節省空間 6樓:匿名使用者 可以設定 先把 陣列抄所有值都賦 襲值查詢可以通過bai迴圈比對 for (i=0;i++;i然後通過判du斷flag來看看是否找zhi到資料 將數dao組元素置空來表示刪除 c語言陣列刪除? 7樓:聽不清啊 #include int main() { int i,i1,j,k,n,a[101]; scanf("%d",&n); for(i=1; i<=n; i++) { a[i]=i; printf("%3d",a[i]); printf("\n"); i=1,k=n; for(i1=0; i1{ a[i++]=a[k--]=0; for(j=1; j<=n; j++) printf("%3d",a[j]); printf("\n"); return 0; 陣列下標最大為陣列個數減一,例如定義 int a 5 則陣列a的下標最大為4 因為在c語言中陣列的下標是從0開始的,這樣從0到陣列個數減一,共陣列的總個數。例如 include int main 執行結果 1 2 3 4 5 1 2 3 4 5 額 沒有那麼多的吧記憶體吧 比如說int a 5 他的... 第一個a中有2個符號,所以要看優先順序,看限於誰結合。已知比 優先所以版第一個a先與 權結合,所以a是一個陣列,陣列中的元素都是指標a就單單表示陣列。例子 char a a是陣列,元素都是char 即指標 char a a是陣列,元素都是char 即字元 a 這個為指標陣列,int a 5 就定義了... 你想想,當我們想要把一類大量的資料儲存下來的時候 比如說小於1000的偶數 難道你要一個個的定義變數,然後再給他們一個個賦值?這樣重複了大量的操作。而陣列的出現解決了這個問題,你可以只用寫一句語句就可以獲得大量的同類資料儲存單元,如定義int a 1000 就得到了1000個整形資料,再配合迴圈,就...c語言中陣列下標最大為多少C語言中陣列下標最大為多少
c語言中陣列指標a有啥區別,C語言中陣列指標 a 與a 有啥區別?
c語言中的陣列的意義是什麼,c語言中陣列有什麼作用