Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 不使用方括号初始化整数数组_Arrays_C_Pointers_Syntax - Fatal编程技术网

Arrays 不使用方括号初始化整数数组

Arrays 不使用方括号初始化整数数组,arrays,c,pointers,syntax,Arrays,C,Pointers,Syntax,我试图在不使用[]方括号的情况下初始化c中的int数组。据我所知,int A[n]相当于int*(A+n)。我试着像这样初始化数组。然而,它不起作用 什么时候使用这种表示法,即int*(a+n),我们如何在不使用方括号的情况下进行初始化、扫描和打印?通常,如果不需要方括号,就不需要使用数组。你在这里找指针。分配所需内存字节的最简单方法是使用malloc(),然后可以使用类似*(p+i)的语法从用户获取数据或显示输出 这里有一个: 注意:这并不意味着数组不好。您可以用或替换{和} 以下三种说法是

我试图在不使用[]方括号的情况下初始化c中的int数组。据我所知,int A[n]相当于int*(A+n)。我试着像这样初始化数组。然而,它不起作用


什么时候使用这种表示法,即int*(a+n),我们如何在不使用方括号的情况下进行初始化、扫描和打印?

通常,如果不需要方括号,就不需要使用数组。你在这里找指针。分配所需内存字节的最简单方法是使用
malloc()
,然后可以使用类似
*(p+i)
的语法从用户获取数据或显示输出

这里有一个:



注意:这并不意味着数组不好。

您可以用或替换
{
}

以下三种说法是等效的:

foo[bar] = baz[quux] + zxc[spqr];
foo<:bar:> = baz<:quux:> + zxc<:spqr:>;
foo??(bar??) = baz??(quux??) + zxc??(spqr??);
foo[bar]=baz[qux]+zxc[spqr];
foo=baz+zxc;
foo??(bar??)=baz??(qux??)+zxc??(spqr??);

感谢您的支持。

*(a+n)
a[n]
除了在声明中之外,其他地方都是一样的
int*(a+n)
不是有效的声明。你可以做
int*a=malloc(n*sizeof(int))
,但记住在完成时释放内存。编写C代码时避免使用[]括号就像在建房子时避免使用锤子一样。你当然可以,但何必费心呢。@user3386109这是我尝试的一个问题中的一个限制。谢谢你的帮助。
Enter 0th position value: 5
Enter 1th position value: 3    // (correct to 1st)
Enter 2th position value: 8    // (correct to 2nd)
Enter 3th position value: 6    // (correct to 3rd)
Enter 4th position value: 3
5
3
8
6
3
foo[bar] = baz[quux] + zxc[spqr];
foo<:bar:> = baz<:quux:> + zxc<:spqr:>;
foo??(bar??) = baz??(quux??) + zxc??(spqr??);