声明一个元素数量为 0 的数组仍然可以存储值

2024-04-06

我知道使用负索引纯粹是运气。但出于好奇我尝试了这个。我知道你可以声明 array[0];就像 malloc(0) 一样;是合法的。但是我为什么可以在 array[0] 中存储一个值呢?

#include <stdio.h>
#include <conio.h>
int main(void)
{
    int i;
    int array[0];
    array[0] = 5;
        printf("%d\n",array[0]);
    getch();
}

Such a 0大小数组是标准 C 中的约束违规,编译器不应该让您在没有给出诊断信息的情况下逃脱这一处罚。如果它没有告诉您一些信息,那么这一定是您的编译器供应商已添加到其 C 方言中的扩展。

不要依赖此类扩展。

无论您是否声明数组的大小0,C 没有强制对数组或指针访问进行边界检查。不过,如果在编译时已知超出范围,一个好的现代编译器仍然应该向您发出警告。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

声明一个元素数量为 0 的数组仍然可以存储值 的相关文章

  • 是否可以强制 XMLWriter 将元素写入单引号中?

    这是我的代码 var ptFirstName tboxFirstName Text writer WriteAttributeString first ptFirstName 请注意 即使我使用 ptFirstName 也会以双引号结束 p
  • Qt-Qlist 检查包含自定义类

    有没有办法覆盖加载自定义类的 Qt QList 的比较机制 即在 java 中你只需要重写一个比较方法 我有一个带有我的自定义类模型的 QList QList
  • 未解决的包含:“cocos2d.h” - Cocos2dx

    当我在 Eclipse 中导入 cocos2dx android 项目时 我的头文件上收到此警告 Unresolved inclusion cocos2d h 为什么是这样 它实际上困扰着我 该项目可以正确编译并运行 但我希望这种情况消失
  • 如何忽略“有符号和无符号整数表达式之间的比较”?

    谁能告诉我必须使用哪个标志才能使 gcc 忽略 有符号和无符号整数表达式之间的比较 警告消息 gcc Wno sign compare 但你确实应该修复它警告你的比较
  • 实时服务器上的 woff 字体 MIME 类型错误

    我有一个 asp net MVC 4 网站 我在其中使用 woff 字体 在 VS IIS 上运行时一切正常 然而 当我将 pate 上传到 1and1 托管 实时服务器 时 我得到以下信息 网络错误 404 未找到 http www co
  • Newtonsoft JSON PreserveReferences处理自定义等于用法

    我目前在使用 Newtonsoft Json 时遇到一些问题 我想要的很简单 将要序列化的对象与所有属性和子属性进行比较以确保相等 我现在尝试创建自己的 EqualityComparer 但它仅与父对象的属性进行比较 另外 我尝试编写自己的
  • 将布尔参数传递给 SQL Server 存储过程

    我早些时候问过这个问题 我以为我找到了问题所在 但我没有 我在将布尔参数传递给存储过程时遇到问题 这是我的 C 代码 public bool upload false protected void showDate object sende
  • Numpy - 根据表示一维的坐标向量的条件替换数组中的值

    我有一个data多维数组 最后一个是距离 另一方面 我有距离向量r 例如 Data np ones 20 30 100 r np linspace 10 50 100 最后 我还有一个临界距离值列表 称为r0 使得 r0 shape Dat
  • 指针减法混乱

    当我们从另一个指针中减去一个指针时 差值不等于它们相距多少字节 而是等于它们相距多少个整数 如果指向整数 为什么这样 这个想法是你指向内存块 06 07 08 09 10 11 mem 18 24 17 53 7 14 data 如果你有i
  • 在 ASP.NET Core 3.1 中使用包含“System.Web.HttpContext”的旧项目

    我们有一些用 Net Framework编写的遗留项目 应该由由ASP NET Core3 1编写的API项目使用 问题是这些遗留项目正在使用 System Web HttpContext 您知道它不再存在于 net core 中 现在我们
  • 将自定义元数据添加到 jpeg 文件

    我正在开发一个图像处理项目 C 我需要在处理完成后将自定义元数据写入 jpeg 文件 我怎样才能做到这一点 有没有可用的图书馆可以做到这一点 如果您正在谈论 EXIF 元数据 您可能需要查看exiv2 http www exiv2 org
  • 如何将单个 char 转换为 int [重复]

    这个问题在这里已经有答案了 我有一串数字 例如 123456789 我需要提取它们中的每一个以在计算中使用它们 我当然可以通过索引访问每个字符 但是如何将其转换为 int 我研究过 atoi 但它需要一个字符串作为参数 因此 我必须将每个字
  • clang 实例化后静态成员初始化

    这样的代码可以用 GCC 编译 但 clang 3 5 失败 include
  • 将 unsigned char * (uint8_t *) 转换为 const char *

    我有一个带有 uint8 t 参数的函数 uint8 t ihex decode uint8 t in size t len uint8 t out uint8 t i hn ln for i 0 i lt len i 2 hn in i
  • 实体框架 4 DB 优先依赖注入?

    我更喜欢创建自己的数据库 设置索引 唯一约束等 使用 edmx 实体框架设计器 从数据库生成域模型是轻而易举的事 现在我有兴趣使用依赖注入来设置一些存储库 我查看了 StackOverflow 上的一些文章和帖子 似乎重点关注代码优先方法
  • 防止Java实例化的正确方法[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • C++ fmt 库,仅使用格式说明符格式化单个参数

    使用 C fmt 库 并给定一个裸格式说明符 有没有办法使用它来格式化单个参数 example std string str magic format 2f 1 23 current method template
  • Process.Start 阻塞

    我正在调用 Process Start 但它会阻止当前线程 pInfo new ProcessStartInfo C Windows notepad exe Start process mProcess new Process mProce
  • mysql-connector-c++ - “get_driver_instance”不是“sql::mysql”的成员

    我是 C 的初学者 我认为学习的唯一方法就是接触一些代码 我正在尝试构建一个连接到 mysql 数据库的程序 我在 Linux 上使用 g 没有想法 我运行 make 这是我的错误 hello cpp 38 error get driver
  • 使用随机放置的 NaN 创建示例 numpy 数组

    出于测试目的 我想创建一个M by Nnumpy 数组与c随机放置的 NaN import numpy as np M 10 N 5 c 15 A np random randn M N A mask np nan 我在创建时遇到问题mas

随机推荐

  • Python:有什么方法可以声明常量参数吗?

    我有一个方法 def foo bar 有没有办法标记bar作为常数 例如 价值在bar不能改变 或 所指向的对象bar不能变 如果 bar 是不可变对象 则 bar 在函数执行期间不会改变 您还可以创建自己的常量对象 食谱在这里 http
  • 设置 元素的背景颜色(高度未设置为 100%)适用于整个视口

    我发现为整个设置背景颜色元素 高度未设置为 100 导致整个视口设置为该颜色 这个html 1 br 2 br 3
  • C++ 构建系统 - 使用什么? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在考虑用 C 启动一个新项目 最初是在我自己的时间 并且我正在研究可用的构建系统 答案似乎是 很多
  • 在 Java 中开发具有插件支持的应用程序

    我一直在研究如何开发一个可以加载插件的应用程序 到目前为止 我已经看到这可以通过定义一个接口来完成 并让插件实现它 然而 我当前的问题是如何加载打包在 Jars 中的插件 有没有 最好 的方法来做到这一点 我当前想到的逻辑是获取每个插件并在
  • Solr - 从数据库导入日期时间字段 -> 2 小时差异

    我正在 Solr 中导入日期时间列 SQLServer 并且 solr 中的值始终比数据库中早 2 小时 并且具有完整导入和增量导入 我已经用正确的时间配置了jvm 在日志中它显示了正确的时间 我想我必须在 data config xml
  • 使用acts_as_taggable_on 搜索表单 (Rails 3)

    我有一个搜索框来搜索产品 每个产品都有一个标题并标有多个标签 我希望能够按标题或标签搜索产品 换句话说 如果我有一个名为 绿茶 的产品和另一个标记为 绿色 红色 蓝色 的产品 并且我在搜索框中输入 绿色 我希望这两种产品都出现在搜索结果中
  • 将具有不同格式的文本文件读取到 MATLAB

    我有一个文本文件 但不幸的是它的格式很差 但是我想将文本文件的内容读入矩阵 但我不知道该怎么做 当尝试使用fscanf textscan textread其余的它只是将所有内容复制到一个单元格中 但我不希望那样 内容如下 所以我只想读取小数
  • Rake:记录任何正在执行的任务

    如何在不更改任务源的情况下为每个 rake 任务创建数据库日志记录 我需要存储日期时间 任务名称 参数 有某种观察者等吗 您可以覆盖Rake Task invoke中的方法application rb application rb modu
  • 使用错误:未找到行魔术函数“%sql”

    reload ext sql sql sqlite 第二行无法编译 报告显示 UsageError Line magic function sql未找到 用Python3 8 jupyter笔记本 我使用 conda 安装 ipython
  • 测量库调用和回调之间的时间

    你好 在 iPhone 应用程序中 我使用一个库 C 它在计算完成时异步进行回调 现在我想测量在进行回调之前所花费的时间 包括调用库的方法 是否有可能使用 Apple 的 Instruments 应用程序来做到这一点 最佳实践是什么 过去
  • C++ 跨文件引用变量

    我有一个项目 需要在另一个 CPP 文件中引用一个 CPP 文件中声明的变量 这可能吗 如果是这样 怎么办 如果您将其声明为全局 顶级 位于任何函数定义之上 并使用 extern 这是可能的放在其他文件中以使编译器知道 Main cpp i
  • Ruby Mongodb 驱动程序 $gt 在日期条件下充当 $gte,为什么?

    我有一个奇怪的情况 gt and gteruby mongodb 驱动程序中的条件 所以这是代码 timeline timeline db find date gt gt s time username in gt followers ar
  • 如何在 Perl 中替换现有文件中的字符串

    我想在名为 1 classification dat 2 classification dat 等的所有文本文件中将 蓝色 一词替换为 红色 我想编辑同一个文件 所以我尝试了以下代码 但它不起作用 我哪里出错了 files glob cla
  • 使用python更改Windows快捷方式.lnk文件的图标

    我想更改a的图标 lnk我创建后的文件 到目前为止 这是我的主要代码 import win32com client shell win32com client Dispatch WScript Shell shortcut shell Cr
  • 如何使用 Python 3.4.2 在 Windows 7 中安装 scipy

    我安装时遇到问题scipy 当我跑步时 python m pip install scipy 我收到以下消息 C Python34 lib site packages pip main py run on 01 14 15 15 56 16
  • 如何检测flutter webview中内部html何时发生变化

    我在用着webview flutter https pub dev packages webview flutter要从 Flutter 应用程序上的 URL 查看页面 我需要做的是检测 HTML 代码中何时发生更改 而不更改 URL 因为
  • 在 Swift 中的一处导入整个项目的框架?

    我自己做了一个Cocoa Touch Framework 并且我只想将其导入到代码中的一处 在 Xcode Objective C 的早期版本中 有一个中心位置位于Supporting Files 它如何适用于基于 Swift 的项目 创建
  • 将 JSON 查询条件转换为 MongoDB/Mongoose 操作

    我正在客户端使用 Angular 8 构建一个应用程序 在服务器端使用 NodeJS 12 和 MongoDB 4 Mongoose 5 构建一个应用程序 我有一个由以下生成的查询角度查询构建器模块 https www npmjs com
  • 对列表中的 Erlang 记录进行排序?

    我在erlang中有一条记录 record myrec id 0 price 0 quantity 0 然后 我有一个记录列表 我想按 id 和价格按降序和升序排序 其中价格是第一个键 如果两个记录具有相同的价格 我想按 id 对它们进行排
  • 声明一个元素数量为 0 的数组仍然可以存储值

    我知道使用负索引纯粹是运气 但出于好奇我尝试了这个 我知道你可以声明 array 0 就像 malloc 0 一样 是合法的 但是我为什么可以在 array 0 中存储一个值呢 include