array.h
#ifndef _array_h_
#define _array_h_
typedef
struct
array;
array array_creat
(int init_size)
;//建立陣列
void
array_free
(array *a)
;//釋放陣列空間
intarray_size
(array *a)
;//輸出陣列大小
int*
array_at
(array *a,
int index)
;//返回陣列指定下標對應的元素
void
array_inflate
(array *a,
int more_size)
;//增加陣列長度
#endif
array.c
#include
#include
"array.h"
#include
//typedef structarray;
array array_creat
(int init_size)
void
array_free
(array *a)
intarray_size
(array *a)
//未改進版本
//int* array_at(array *a,int index)
//改進後
const
int block_size =20;
int*
array_at
(array *a,
int index)
return
&(a->array[index]);
//返回指標,好處是後續運算可以用作左值
}void
array_inflate
(array *a,
int more_size)
free
(a->array)
; a->array=p;
a->size+
=more_size;
}int
main()
array_free
(&a)
;return0;
}
c語言提高 可變陣列
一 簡介 變長陣列又成c99 柔性陣列,是非標準的拓展 形如 struct test 或者 struct 在實際的物理上是沒有占用位元組的。目的是為了方便的動態增加記憶體長度,比如你要儲存乙個字串,事先不知道字串長度,可以採用此類方法動態分配。對於該變數的型別 可以隨意,比如int long 等。二...
C STL deque可變陣列
deque資料應該很多,這裡不多所了,直接一點上程式吧!include include include include 用於distance deque模板,deque迭代器 using namespace std stl deque 是乙個動態陣列,與vector類似 可在開頭與末尾插入 刪除資料...
結構可變陣列
開拓空間 array array create int init size 該段 用malloc來為結構體裡面的陣列指標分配乙個我們需要的空間,然後把位址分配給結構體裡面的array 為array結構體分配乙個空間並返回乙個array型別 用於主函式裡面array結構體型別直接複製 恢復空間,清空記...