”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 在标准C中如何声明可变大小的数组?

在标准C中如何声明可变大小的数组?

发布于2025-04-15
浏览:557

How Can I Declare an Array With a Variable Size in Standard C? 
在C中具有变量数组大小的动态数组分配

varible sized数组,也称为动态数组,在标准的C中提出了挑战。请考虑以下程序。 0; file*图片; while(!feof(picture)){

n = fread(sbuf,sizeof(char),siz,picture); / * ...用缓冲区做事... */ /* memset(sbuf,0,sizeof(sbuf)); */

试图分配一个由变量SIZ确定的大小的字符。但是,在标准C中,阵列大小必须是常数。 This poses the question: how can we declare siz correctly to allow code compilation?

Unfortunately, there is no direct method to declare an array with a variable size in standard C. However, several alternatives exist:


std::vector:

In modern C , the std::vector container can be used as a flexible alternative to数组。它可以很容易地扩展到任何所需的大小,并且其用法相对简单。
新运算符:
可以使用新操作员在堆上动态分配内存。要创建具有可变大小的数组,可以使用char* sbuf = new char [siz];在堆上分配一系列SIZ字符。但是,这种方法引入了内存管理问题(例如,潜在的内存泄漏),使其不适合STD :: vector。

最新教程 更多>
  • 使用jQuery如何有效修改":after"伪元素的CSS属性?
    使用jQuery如何有效修改":after"伪元素的CSS属性?
    在jquery中了解伪元素的限制:访问“ selector 尝试修改“:”选择器的CSS属性时,您可能会遇到困难。 This is because pseudo-elements are not part of the DOM (Document Object Model) and are th...
    编程 发布于2025-04-16
  • 如何在Java中正确显示“ DD/MM/YYYY HH:MM:SS.SS”格式的当前日期和时间?
    如何在Java中正确显示“ DD/MM/YYYY HH:MM:SS.SS”格式的当前日期和时间?
    如何在“ dd/mm/yyyy hh:mm:mm:ss.ss”格式“ gormat 解决方案:的,请访问量很大,并应为procectiquiestate的,并在整个代码上正确格式不多: java.text.simpledateformat; 导入java.util.calendar; 导入java...
    编程 发布于2025-04-16
  • 如何干净地删除匿名JavaScript事件处理程序?
    如何干净地删除匿名JavaScript事件处理程序?
    删除匿名事件侦听器将匿名事件侦听器添加到元素中会提供灵活性和简单性,但是当要删除它们时,可以构成挑战,而无需替换元素本身就可以替换一个问题。 element? element.addeventlistener(event,function(){/在这里工作/},false); 要解决此问题,请考虑...
    编程 发布于2025-04-16
  • PHP SimpleXML解析带命名空间冒号的XML方法
    PHP SimpleXML解析带命名空间冒号的XML方法
    在php 很少,请使用该限制很大,很少有很高。例如:这种技术可确保可以通过遍历XML树和使用儿童()方法()方法的XML树和切换名称空间来访问名称空间内的元素。
    编程 发布于2025-04-16
  • Python Pandas数据框条件列创建方法
    Python Pandas数据框条件列创建方法
    在Python 中创建一个基于条件逻辑的列时,我们经常遇到场景,我们经常遇到基于现有列之间创建新列的情况,在该场景中,我们需要在其中创建一个新的列。 This can be achieved using the np.where function with nested conditions.To...
    编程 发布于2025-04-16
  • 如何从PHP中的数组中提取随机元素?
    如何从PHP中的数组中提取随机元素?
    从阵列中的随机选择,可以轻松从数组中获取随机项目。考虑以下数组:; 从此数组中检索一个随机项目,利用array_rand( array_rand()函数从数组返回一个随机键。通过将$项目数组索引使用此键,我们可以从数组中访问一个随机元素。这种方法为选择随机项目提供了一种直接且可靠的方法。
    编程 发布于2025-04-16
  • 如何在JavaScript对象中动态设置键?
    如何在JavaScript对象中动态设置键?
    在尝试为JavaScript对象创建动态键时,如何使用此Syntax jsObj['key' i] = 'example' 1;不工作。正确的方法采用方括号: jsobj ['key''i] ='example'1; 在JavaScript中,数组是一...
    编程 发布于2025-04-16
  • MacBook连接Docker MySQL容器命令行指南
    MacBook连接Docker MySQL容器命令行指南
    如何从主机命令行 horts 可以使用docker-compose run 使用Docker-Compose Run,默认情况下忽略了docker-compose.yml文件的端口映射部分。要启用它,请使用-service-ports选项: docker-compose run -service-...
    编程 发布于2025-04-16
  • 大批
    大批
    [2 数组是对象,因此它们在JS中也具有方法。 切片(开始):在新数组中提取部分数组,而无需突变原始数组。 令ARR = ['a','b','c','d','e']; // USECASE:提取直到索引作...
    编程 发布于2025-04-16
  • Python中何时用"try"而非"if"检测变量值?
    Python中何时用"try"而非"if"检测变量值?
    使用“ try“ vs.” if”来测试python 在python中的变量值,在某些情况下,您可能需要在处理之前检查变量是否具有值。在使用“如果”或“ try”构建体之间决定。“ if” constructs result = function() 如果结果: 对于结果: ...
    编程 发布于2025-04-16
  • 为什么不使用CSS`content'属性显示图像?
    为什么不使用CSS`content'属性显示图像?
    在Firefox extemers属性为某些图像很大,&& && && &&华倍华倍[华氏华倍华氏度]很少见,却是某些浏览属性很少,尤其是特定于Firefox的某些浏览器未能在使用内容属性引用时未能显示图像的情况。这可以在提供的CSS类中看到:。googlepic { 内容:url(&#...
    编程 发布于2025-04-16
  • 如何使用node-mysql在单个查询中执行多个SQL语句?
    如何使用node-mysql在单个查询中执行多个SQL语句?
    Multi-Statement Query Support in Node-MySQLIn Node.js, the question arises when executing multiple SQL statements in a single query using the node-mys...
    编程 发布于2025-04-16
  • SVG如何使用外部CSS进行样式设置?
    SVG如何使用外部CSS进行样式设置?
    通过外部样式表修改SVG图形的颜色,需要考虑几个因素,需要考虑几个因素。 svgs inline css 如果要将SVG保留在外部文件中,则必须在其中定义CSS。利用标签来定义SVG文件本身内部的样式。 外部CSS具有SVG 中的更改,如果需要更改基于外部CSS的SVG样式,请考虑更新 styl...
    编程 发布于2025-04-16
  • 人脸检测失败原因及解决方案:Error -215
    人脸检测失败原因及解决方案:Error -215
    错误处理:解决“ error:( - 215)!empty()in Function openCv in Function MultSiscale中的“检测”中的错误:在功能检测中。”当Face Cascade分类器(即面部检测至关重要的组件)未正确加载时,通常会出现此错误。要解决此问题,必须...
    编程 发布于2025-04-16
  • 您可以使用CSS在Chrome和Firefox中染色控制台输出吗?
    您可以使用CSS在Chrome和Firefox中染色控制台输出吗?
    在javascript console 中显示颜色是可以使用chrome的控制台显示彩色文本,例如红色的redors,for for for for错误消息?回答是的,可以使用CSS将颜色添加到Chrome和Firefox中的控制台显示的消息(版本31或更高版本)中。要实现这一目标,请使用以下模...
    编程 发布于2025-04-16

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3