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创建数组
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。
上一篇
京东生成代码用哪个网站 京东白条
下一篇
你的网站申请一域名 如何申请域名