#define_CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<string.h>#include<stdlib.h>#include"DynamicArray.h"voidtest01(){//初始化动态数组Dynamic_Array*myArray = Init_Array();//打印容量printf("数组容量:%d\n",Capacity_Array(myArray));printf("数组大小:%d\n", Size_Array(myArray)); 插入...
读者需自行创建头文件dynamic.h并拷贝如下动态数组代码实现; #include<stdlib.h>#include<string.h>structDynamicArray{void**addr;// 存放元素或结构体的首地址intcurr_size;// 存放当前元素数量intmax_size;// 存放当前最大元素数};// 初始化动态数组,初始化后直接返回数组的首地址structDynamicArray*InitDynamic...
int*dynamicArray=(int*)malloc(size*sizeof(int));// 动态数组内存分配 if(dynamicArray==NULL){ printf("Memory allocation failed.\n"); return1; } printf("Enter %d elements: ",size); for(inti=0;i<size;i++){ scanf("%d",&dynamicArray[i]); } printf("Dynamic Array: "); for(inti=0...
// 写入动态数组元素 printf("请输入数组元素:"); for (int i = 0; i < size; i++) { scanf("%d", &dynamicArray[i]); } // 打印数组元素 printf("动态数组:"); for (int i = 0; i < size; i++) { printf("%d ", dynamicArray[i]); } // 释放内存 free(dynamicArray); return...
在使用InitDynamicArray函数创建动态数组之后,使用InsertDynamicArray函数将四个元素插入到动态数组中,其中第三个元素插入的位置为3。然后使用RemoveByPosDynamicArray函数根据下标移除第一个元素,使用RemoveByValueDynamicArray函数根据元素的值移除第二个元素,其中使用myCompare回调函数对比元素。最后使用ForeachDynamicArray函数...
\n");exit(1);}array->data = newData;array->capacity = newSize;}// 向动态数组中添加元素void addElement(DynamicArray *array, int element) {if (array->size == array->capacity) {// 扩大容量,这里简单地将容量翻倍resizeDynamicArray(array, 2 * array->capacity);}array->data[array->size++...
("Memory allocation failed\n"); return 1; } // 为动态数组赋值 for (int i = 0; i < n; i++) { arr[i] = i * 2; } // 输出动态数组的元素 printf("Dynamic array elements: "); for (int i = 0; i < n; i++) { printf("%d ", arr[i]); } printf("\n"); // 释放...
int *createDynamicArray(int n) { int *arr = (int *)malloc(n * sizeof(int)); // 分配内存 for (int i = 0; i < n; i++) { arr[i] = i + 1; // 初始化数组元素 } return arr; // 返回指向数组的指针 } 如果需要在程序中多次使用不同大小的动态数组,可以考虑使用二维指针或结构体...
// dynamic_array.h #pragma once #include <stddef.h> struct dynamic_array { int *elems; size_t size, capacity; }; typedef int (*dynamic_array_operator)(int); typedef int (*dynamic_array_generator)(); #define RESIZE_FACTOR 2 void delete_dynamic_array(struct dynamic_array *arr); int ...
// 使用完毕后释放内存 free(dynamicArray); dynamicArray = NULL; // 可选:将指针置为NULL,防止后续误用 动态内存分配函数的实例 1. malloc() 示例 #include <stdio.h> #include <stdlib.h> int main() { // 分配一个能存储10个整数的空间 int *dynamicArray = (int*)malloc(sizeof(int) * 10);...