c - 为什么不能在 C 中比较结构的 NULL 性?
问题描述
我有以下结构:
typedef struct School
{
int numOfStudents;
} School;
例如,如果我有一个结构:
School s;
我想检查结构是否为空,如下所示:
if(s) {
printf("null");
}
这将无法编译,错误消息如下:
error: used struct type value where scalar is required
为什么我不能在 C 中的 if 语句中检查结构是否为 NULL?
解决方案
如果是:
School s;
s
绝对不是NULL,因为它不是指针。然而,它是一个未初始化的结构实例,其值s.numOfStudents
未定义。
推荐阅读
- jquery - 从数据属性中获取数组
- javascript - 如何通过在 beforeEach 钩子中浅安装 vue 组件来干燥代码?
- c# - 为什么图像在我的网站第一次加载时出现 403 错误?
- php - 如何根据第三列中的值获得两列的总和并按第四列分组?
- reactjs - antd form validateFields的回调参数如何输入
- html - 如何只修改一个特定的类实例?
- c# - DataGridView中的ColumnCount和Columns.Count有什么区别
- python - 在 Powerpoint 模板中导出 Excel 表格
- android - 如何让 Spinner 下拉全宽?
- python - 通过 jira python 将附件添加到 jira 问题(添加了空文件)