C語言 可變陣列 Mooc筆記

2021-10-05 16:02:53 字數 1269 閱讀 1990

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結構體型別直接複製 恢復空間,清空記...