问题标签 [array-initialization]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - 语法错误:在 ';' 之前缺少 ']' C中的数组声明错误
我正在用 c 编写,使用 Visual c++。
编译器给我下面的代码错误:
我得到的错误:
我尝试过在 main 内部和外部以不同的方式声明常量。它仍然不起作用。如果有人可以帮助我,我将不胜感激...
c# - How do I convert this VB.NET array expression to C#
In VB.net, I can write:
and the Contains
seems to be from Linq.Enumerable(Of T).
I'm having trouble converting it to C# - when I use an online conversion tool like the one from Developer Fusion, it gives me:
but it doesn't compile, saying it's unable to resolve the symbol Contains
which isn't very helpful. I'm sure it's a simple syntax issue, but I'm not sure what you call an example like this.
I don't need to instantiate the array, since I'm just using it to evaluate the expression inline. This seems to be possible in VB.NET. What do you call this - a static array? constant array? anonymous array? some combination of those listed?
I'd like to know how to write this in C#, and also what this is called (I'll update the question title and tags to better reflect what I'm asking when someone can answer that). Thanks!
c - 为什么“char *ptr={'R','E','D','\0'};” 在 "char *ptr="RED";" 时给出太多警告 工作正常?
考虑以下代码:
它显示以下警告列表:
但是如果我注释掉第一条语句并激活第二条语句(在我的代码中被注释掉),如果工作正常。
为什么会这样?为什么在第一种情况下没有分配指向同一个数组的指针ptr
,就像在第二种情况下一样?这是什么严格的技术原因?
c - 函数内部的数组可以用函数的返回值初始化吗?是"int arr[2]={strcmp("a","a"),strcmp("3","5")};" 正确的?
不仅静态存储类型的变量不应该被函数的返回值初始化,因为它们不被认为是常量吗?按照那个论点,下面的声明在 C 中是否有效。它编译时没有错误或警告,并输出正如预期的那样。
Result
0,-1
c - 初始化可变长度数组
在初始化可变长度数组时,编译器会给出错误消息:
代码片段:
可变长度数组应该如何初始化?以及为什么它的所有元素都没有0
按照下面给出的方式初始化;
?
c - 为什么除 main 以外的函数中的数组初始化是临时的?
这是我在 main 和函数“checkCollisionOrFood()”中初始化数组“turn[20]”的代码,四个值 turn[0],turn[1],turn[2],turn[3]在主函数中初始化为零,其余部分在“checkCollisionOrFood()”中初始化。这是故障开始的地方。当我在“checkCollisionOrFood()”中初始化 turn[4]=0 然后在任何地方访问它时,它仍然为 0任何功能,但是!当我初始化下一个转弯[]即转弯[5]时,转弯[4]的值被耗尽。即转弯[4]有垃圾值。转弯[20]是全局变量,它的索引“头”也是全局的。我我被这个问题困住了,请帮我摆脱它。这是我的完整代码
/这是turn []被初始化的地方,如果我在这里访问turn [head],即在iniliazition之后,那么它会给出正确的值,但是如果我访问它的先前值意味着turn [head-1],那么它会给出垃圾值/
/通过这个语句,我在turn[4]初始化之后检查了turn[4]的值,它给出了正确的答案,然后在turn[5]初始化之后访问turn[4]给出了垃圾。/
/无论在哪里访问它们,turn[] 的这些值都不会改变。/
}
请建议我摆脱它。
c - 一起使用“逐个元素”和“指定”技术初始化数组时出现意外输出
C99 提供了通过同时使用element-by-element
&designated
方法来初始化数组的功能:
在运行代码时:
(请注意,它Element 0
被初始化为2
,然后由指定器再次初始化[0]
为9
)我期望element 0
(即2
)将被9
(作为指定器[0] = 9
)替换,因此 o/p 将变为
不幸的是,我错了,因为 o/p 来了;
对意外的o / p有什么解释吗?
java - 在没有数组变量的情况下迭代java中的静态数组
在 Ruby 中,我可以执行以下操作:
迭代在我使用它的语句中定义的数组。因为我可以在 Java 中定义一个数组,例如:
我知道我可以通过设置如下循环来避免定义变量:
但是,我希望 java 可能有更简洁的东西,而不首先定义包含数组的变量,并且还允许我避免动态分配,是否有如下语法:
这更简洁,可以与我缺少的 Java 一起使用,还是我拥有的解决方案超出了我唯一的选择?
c - 为什么这个数组的所有剩余值都初始化为零?
您好我是C 编程语言的初学者,最近我开始学习数组,我研究了默认情况下 int 数组中的所有值都是垃圾。
那么为什么我在这两种情况下得到不同的值。
情况1
在这种情况下,从 arr[0] 到 arr[4] 我们将有垃圾值,但在下一种情况下。
案例2
在这种情况下,arr[0] 的值为 1,从 arr[1] 到 arr[4] 的剩余值为 0。
我的问题是,当在 case-1 中每个未初始化的数组位置都有垃圾值时,为什么在 case-2 中剩余的未初始化数组位置的默认值是 0。
c - 在代码块内将数组初始化为值 0
这是片段
好的,由于我不知道数组的确切界限,我必须使用 scanf * 作为变量*。并且创建的数组包含垃圾值。为此,我必须将每个元素初始化为 0,因为这就是我想要的。
有没有办法让这个东西工作,而不必每次都在循环内初始化?
谢谢
编辑 我想我可以使用 calloc 来分配内存。使用的内存会有所不同吗?