c语言有没有类似const 这样针对malloc动态内存的机制,
有个需求是需要申请动态内存,但是又不想指针的地址变化。
如题:
char a1=(char)malloc(10);
char a2=(char)malloc(10);
void p=(void)malloc(16):
p[0]=a1;
p[1]=a2;
我需要的是在这之后p下面的0和1元素是无法指向其他地址的,
只能是a1a2的地址,但又可以注销释放内存。
只有注销后才可以指向新的地址空间。
目前自己写了个但是不太好(判断来判断去,还要开进程监控),所以想知道c语言自身有没有这样的机制,或者好的方法。
你判断p[0],和p[1] 是否为空, 为空时才可以重新申请内存。 释放内存时吧这p[0]和p[1] 指向null, 这样不就行了?
不可以,要固定就直接申请固定的数组,或者你自己做一个内存管理。简单来说就是直接申请一大块空间,然后里面的空间再自己按需分配。大空间就不释放了