2016 - 2024

感恩一路有你

java如何求数组长度 C语言为什么不建议把变量作为数组长度?

浏览量:2989 时间:2021-04-10 14:53:05 作者:admin

C语言为什么不建议把变量作为数组长度?

数组的大小不能用变量表示,因为在编译和连接过程中,内存应该根据您设置的长度为数组分配相应的内存空间。如果它是一个变量,就没有办法分配它。可以使用符号常量来解决此问题。首先,使用:#define m 100

#define N 100,然后您可以在程序中定义u[m][N]二维数组。当它不一定是100时,它可以是任何正整数。

在C语言中,所有变量空间在程序运行开始时应用于系统,包括和指针。它也需要空间,除了一些动态应用程序方法,如malloc函数。未经申请,不得在航天系统中进行读写操作。然后,如果数组的大小是一个变量定义,则在程序运行之前无法确定数组的大小,因此无法应用它,因此不允许这样做。解决方案如前所述,例如:int a[n

]可以更改为

int*const a=(int*)malloc(sizeof(int)*n)

,这样变量就可以直接用作数组,包括[1]。括号中的运算符“[”只取“]”的值。例如,

a[1

]相当于

*(a 1)

,星号后的常量修饰符表示指针声明后不能更改,即只能指向获取的空间,完全符合数组的性质。

更多答案(9)

java如何求数组长度 java数组长度length java创建数组

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。