您的位置:首页 > 编程语言 > C语言/C++

C语言中实现数组的动态增长

2011-04-20 00:17 309 查看
原理: 在C语言中数组下标访问可以看成指针的偏移访问

1、对表进行检查,看看它是否真的已满

2、如果表确实已满,使用realloc()函数扩展表的长度,并进行检查,确保realloc()操作成功进行。

3、在表中增加所需要的项目

code:

int current_element=0;

int total_element=128;
char *dynamic=malloc(total_element);
char *ptr;

void add_element(char c){
if(current_element==total_element-1){
total_element*=2;
ptr=(char*)realloc(dynamic,total_element);
if(ptr==NULL){
printf("can't expand the table!\n")
return -1;

}
else
dynamic=ptr;

}
current_element++;
dynamic[current_element]=c;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: