Questions tagged «declaration»

声明是子程序(过程或函数)的一部分,提供协议(标题),但不提供子程序的主体。

3
我不明白为什么编译
我当然会缺少一些东西,但是我不明白为什么会这样编译(同时使用g ++和clang ++): struct A { }; struct B { }; int main() { A a(B); } 首先,B是一个类型……不是一个值。我应该如何解释此代码?

7
在哪里可以和不能在C中声明新变量?
我(可能是从老师那里)听说,应该在程序/函数之上声明所有变量,并且在声明中声明新变量可能会引起问题。 但是后来我在阅读K&R时碰到了这句话:“变量的声明(包括初始化)可能会在左括号后面加上任何复合语句,而不仅仅是开始一个函数的语句”。他举了一个例子: if (n > 0){ int i; for (i=0;i<n;i++) ... } 我对这个概念玩了一点,它甚至适用于数组。例如: int main(){ int x = 0 ; while (x<10){ if (x>5){ int y[x]; y[0] = 10; printf("%d %d\n",y[0],y[4]); } x++; } } 那么,到底什么时候不允许我声明变量?例如,如果我的变量声明在右括号之后不正确怎么办?像这儿: int main(){ int x = 10; x++; printf("%d\n",x); int z = 6; printf("%d\n",z); } …
76 c  declaration 

4
在声明时将键/值添加到字典
我认为今天非常容易。在C#中,其: Dictionary<String, String> dict = new Dictionary<string, string>() { { "", "" } }; 但是在vb中,以下操作无效。 Public dict As Dictionary(Of String, String) = New Dictionary(Of String, String) (("","")) 我很确定有一种在声明时添加它们的方法,但是我不确定如何添加。是的,我想在声明时(而不是其他时间)添加它们。:)所以希望这是可能的。谢谢大家。 我也尝试过: Public dict As Dictionary(Of String, String) = New Dictionary(Of String, String) ({"",""}) 和... Public dict As Dictionary(Of String, String) = New …

6
奇怪的数组返回类型
有没有人看到[]像这样在方法签名之后放置的数组? public static String mySplit(String s)[] { return s.split(","); } public static void main(String... args) { String[] words = mySplit("a,b,c,d,e"); System.out.println(Arrays.toString(words)); } 版画 [a, b, c, d, e] 过去,“ C”兼容性是一种奇怪的表示法,但是我也无法想象有人用C编写这种代码。 有谁知道为什么甚至允许这样做? 如果有问题,我正在使用Java 7 update 10。 这在Java 6中也做同样的事情。http://ideone.com/91rZV1 顺便说一句,这不会编译,我也不希望它编译 public static <T> List mySplit(String s)<T> { return Collections.emptyList(); }

8
复杂的C声明
我只是在浏览Internet上的一些代码后发现: float * (*(*foo())[SIZE][SIZE])() 我如何阅读此声明?是否有一组特定的规则来读取这种复杂的声明?


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.