C语言 请问怎么判断一个指针是否是空的?

struct{
char n[30];

int a;

}strr;
例如一个动态数组 stru *p = (stru *)mollac(sizeof(stru)*100);
已经向里面存了几个元素了但是不确定有几个,然后我想找到一个空的位置存储新的元素 请问有什么思路吗?比如 我怎么知道p[3]这个位置有没有被使用?
PS: 除了这个功能我的程序都是可以正常运行的,上面的代码只是个临时写的说明

不知道变量a是什么作用。我想可以增加可以增加一个变量length,表示当前数组的长度。比如下面这样。length的初值赋值为0。

struct stru
{
    char n[30];
    int a;
};
int length;

这样你每次插入一个新的元素的时候,就“当前数组的长度加一”。当然默认你的插入元素是从下标'0'开始的,并且是连续的。这样想找到一个空的位置进行插入时,就可以使用

p[length].n=...;
p[length].a=...;
length++;

这只是我个人的想法,希望对你有所帮助。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-10-28
只有你自己记录和跟踪了。C语言本身没有提供机制来标识一块malloc后的空间是否被初始化
第2个回答  2015-10-28
看首地址的值是不是NULL就知道是否为空了。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网