关于c语言数组定义问题

C语言 码拜 8年前 (2016-06-02) 901次浏览
关于c语言数组定义问题
请教 图里老师只讨论有无item会导致程序异常情况,可是数组【】不是里只能放常量表达式吗? 这个是不是也会导致程序异常?
解决方案

2

引用数组元素时[ ]内可以写任何整数类型表达式

2

越界访问,当然就容易出事情了
N个元素的数组
第N元素(从第0开始算)的位置在数组之外

3

其实电脑开机后物理内存的每个字节都是可读写的,从来不会原因是所谓的new、delete或malloc、free而被创建、销毁。区别仅在于操作系统内存管理模块在你读写时能否能发现并能否采取相应动作而已。操作系统管理内存的粒度不是字节而是页,一页通常为4KB。

3

原则上说是使用常量,但是实际上整形的变量也可以通过编译。

5

1)C99 以前,定义数组(元素个数),要用常量表达式。
2)C99级以后
只要是初始化过的变量,都可以。(没初始化的,不论编译通过没有,都是不对的)
注意 仅仅使用变量的当前值定义数组的元素个数是多少,
数组的大小,不是随着变量变化的。
假如变量没初始化,结果就会出问题。
3)读写数组元素,可以用变量作为下标,也可以用常量。

10

定义数组的时候需要是常量,使用数组的时候可以是变量

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明关于c语言数组定义问题
喜欢 (0)
[1034331897@qq.com]
分享 (0)