怎么判断一个二维数组是否为空?

luckon71 2014-04-23 11:00:06
怎么判断一个二维数组是否为空?
char tea[5][5]

我用strlen和cmp这些基本不行编译是不会错,但是调试就会出错
我用if判断是否等于null也不行,请问该怎么判断这个二维数组是否为空?
...全文
1557 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
迷途的书童 2014-04-23
  • 打赏
  • 举报
回复
先初始化,如果值都为初始化得值,就知道为空啦!
xiaohuh421 2014-04-23
  • 打赏
  • 举报
回复
需要你定义规则, 是否为空, 怎么么样才叫"空"呢? 你是想全为0表示空吗? \ 那么你就需要在定义的时候, 把char tea[5][5] 初始化为0. 初始化为0有多种方法. 1: char tea[5][5] = {0} ; //整个二维数组初始化为0了 2. 使用循环. 这样判断就简单了. 循环遍历全部元素看是否是0即可.
luckon71 2014-04-23
  • 打赏
  • 举报
回复
感谢你的回复,但是你没有看清我的题目吧,我的是二维数组,你的是一维数组。
Eleven 2014-04-23
  • 打赏
  • 举报
回复
你是想判断元素的内容为空字符串,而不是判断指针为NULL吧。
shenyi0106 2014-04-23
  • 打赏
  • 举报
回复
你这样定义是不会为NULL的 如果你这是个存字符串的二维数组,那么你要用strlen或者strcmp的话,你就应该这样用:

int len = strlen(tea[0]);

if (strcmp(tea[2], "aaaa") == 0)
{
    dosomthing;
}
如果你判断指针NULL的话,那么你就应该这样定义:

char *tea[5];
tea[0] = (char*)malloc(5);
tea[1] = (char*)malloc(5);
......
这样就可以可以判断指针是不是NULL了。 最后,你需要注意的一点事,二维数组其实就是一个指向指针的指针
孟如庭 2014-04-23
  • 打赏
  • 举报
回复
引用 1 楼 shenyi0106 的回复:
最后,你需要注意的一点事,二维数组其实就是一个指向指针的指针
这个说法是错误的。
 int a[2][2];
 int**p=a;
这样的代码肯定是错误的。 从存储上理解,二维数组和指针的指针是一样的,但是从编码的角度是完全不一样的

16,548

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧