算法c之array
工作使用c的场景比较多,但是都是别人写好的软件。
作为一个拿来主义的程序员,通过阅读他人的代码学习是一件很有趣的事情。
c中定义存储任意数据的数组
typedef struct Array { //大小 size_t size; //长度 size_t len; // 类型长度 size_t typeSize; //复制 void(*dup)(void *ptr, void *key); //释放 void(*free)(void *ptr); //匹配 int(*match)(void *ptr, void *key); //指向指针 void *p; }Array;
其他的定义就是new,初始化之类的。
可以自定义复制,释放,匹配的函数。
默认的会用到 内存拷贝memcpy,内存地址比较memcmp两个函数
通过这个结构,我们就可以在c中像其他语言一样使用泛型数组了。就行使用vector,vec,arraylist 之类的一样。