C语言中关于数组定义
C语言中不允许对数组的大小做动态定义,为什么在被调用的函数中定义数组可以是变量呢? 变量意味着数组中的元素可以被修改但是数组大小在定义之初就是固定的
变量的大小固定没有必然联系 举个例子吧,如果数组降为指针,那么它只是一个地址,数据多少和它没关系 昨非 发表于 2021-3-2 09:45
变量意味着数组中的元素可以被修改
但是数组大小在定义之初就是固定的
变量的大小固定没有必然联系
不好意思,没太明白,函数调用中数组的长度可以是变量这里还是不明白。 wp231957 发表于 2021-3-2 09:48
举个例子吧,如果数组降为指针,那么它只是一个地址,数据多少和它没关系
不好意思,没太明白,如果没降为指针呢? 哒哒哒加油哦 发表于 2021-3-2 10:16
不好意思,没太明白,如果没降为指针呢?
意思就是:箱子的大小是固定的,但是装什么是可以修改的 昨非 发表于 2021-3-2 10:21
意思就是:箱子的大小是固定的,但是装什么是可以修改的
但是在被调用的函数中定义数组,他的长度可以是变量,那么不就是箱子大小也可以变得吗? 哒哒哒加油哦 发表于 2021-3-2 10:23
但是在被调用的函数中定义数组,他的长度可以是变量,那么不就是箱子大小也可以变得吗?
不可以, 昨非 发表于 2021-3-2 10:32
不可以,
为什么呢? 哒哒哒加油哦 发表于 2021-3-2 10:14
不好意思,没太明白,函数调用中数组的长度可以是变量这里还是不明白。
我是让你举个例子拿例子说话总比空讲要好一些 c99不是可以定义动态数组了么 是不让你改变数组长度,但是可以改变值啊。 C语言中数组在编译时就已经为分配好了内存空间,如定义int num,这个n你可以在数组定义之前对它随意赋值(一般是宏定义),但在编译时就已经是一个确定的数字了,不会改变了,即n=10相当于定义了一个int型长度为10的数组 哒哒哒加油哦 发表于 2021-3-2 10:35
为什么呢?
乌龟的屁股
语法规定咯
页:
[1]