在c中,声明给定类型的变量的语法如下:
// <variable-type> <variable-name>
// for example:
int foo;
要声明指针,请在类型后面或变量名前面使用星号(*)。
int* bar;
int *foobar;
此指针也可能不指向单个元素,而是指向给定数据类型的元素的数组。
例如,一个字符数组(一个字符串):
char* oneString = "this is a string";
这样的字符串的替代声明(虽然在注释中指出,虽然绝对不是等效的),如下所示:
//<variable-type> <variable-name>[<count>]
//example:
char anotherString[1024] = "this is another string";
在 c#进行比较中,您可以采用另一种方法:
int[] intArray;
在 variable-name (变量名称)(而不是类型)中有效声明数组的考虑因素是什么?
(不打算作为另一个问题,仅用于提供比较设计决策的方法)
人们创建c#,违反此规则并将数组声明移至类型本身的原因可能是什么?
答案 0 :(得分:6)
这样的字符串的替代声明如下所示
这是另一件事的声明。它不能替代第一个声明。在某些情况下,您可以互换使用它们,在其他情况下则不能。
在C#中,为了进行比较,您反过来使用它
不同的语言是不同的。
在变量名而不是类型处有效声明数组的考虑因素是什么?
设计考虑是“使用后声明”。这意味着,如果您正在使用这样的变量:a[i]
,而结果是int
,则可以这样声明:int a[N];
。如果像这样*a
使用它,则声明int *a
。如果需要*a[i]
,请声明int *a[N]
,如果需要(*a)[i]
,请声明int (*a)[N]
。
创建c#的人违反此规则的原因可能是什么
C#的设计者认为“使用后声明”原则令人困惑,在他们的语言中不需要。您确定它们是否正确。