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;
}
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;
}
相关文章推荐
- C语言中实现数组的动态增长
- C语言中实现数组的动态增长
- C语言实现动态创建二位数组
- 【算法】C语言实现数组的动态分配
- 【Algothrim】 c++ 动态增长数组实现
- 使用C语言实现vector动态数组的实例分享
- Java之Vector向量类实现自动动态增长的对象数组-类似动态数组
- (转)动态数组(c语言实现)
- C语言中动态数组的实现
- 一维动态数组的实现(c语言)
- C语言提高-39讲: 动态存储管理与动态数组的实现(实践)
- C语言中动态数组的实现
- 【算法】C语言实现数组的动态分配
- C语言队列动态数组实现
- 用C语言实现动态数组的大整数乘法
- c语言中动态数组的实现
- c语言中实现动态数组!(自己包的,共大家思考)
- c语言实现一个简单的通用动态数组
- c语言实现动态数组
- C语言完美实现动态数组代码分享