|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 18135437048 于 2022-4-16 10:44 编辑
- #include<stdio.h>
- #include<stdlib.h>
- #include<string.h>
- int* p = NULL;
- int len = 0; //数组长度
- void AddNumber(int data){
- int* pNew = (int*)malloc(sizeof(int)*len);
- if(p){
- memcpy(pNew,p,sizeof(int)*len);
- free(p);//问题****
- }
- p = pNew;
- p[len++] = data;
- }
- int sum(int len){
- int sum=0;
- int i=0;
- for(;i<len;i++){
- sum+=p[i];
- }
- return sum;
- }
- int main(){
- int length=0;
- int i=length;
- int value=0;
- int result=0;
- printf("please input arr len:\n");
- scanf("%d",&length);
- //p=(int *)malloc(length*sizeof(int));
- for(;i<length;i++){
- printf("please input arr[%d]=:\n",i);
- scanf("%d",&value);
- AddNumber(value);
- }
- result=sum(length);
- printf("result=%d\n",result);
- free(p);
- getchar();
- getchar();
- }
复制代码
动态数组free memory有疑问,最后的free(p) 对吗?运行报debug error
参考文章:https://blog.csdn.net/qq_34181098/article/details/104213844 |
|