哒哒哒加油哦 发表于 2021-3-2 09:42:09

C语言中关于数组定义

C语言中不允许对数组的大小做动态定义,为什么在被调用的函数中定义数组可以是变量呢?

昨非 发表于 2021-3-2 09:45:31

变量意味着数组中的元素可以被修改
但是数组大小在定义之初就是固定的
变量的大小固定没有必然联系

wp231957 发表于 2021-3-2 09:48:28

举个例子吧,如果数组降为指针,那么它只是一个地址,数据多少和它没关系

哒哒哒加油哦 发表于 2021-3-2 10:14:35

昨非 发表于 2021-3-2 09:45
变量意味着数组中的元素可以被修改
但是数组大小在定义之初就是固定的
变量的大小固定没有必然联系

不好意思,没太明白,函数调用中数组的长度可以是变量这里还是不明白。

哒哒哒加油哦 发表于 2021-3-2 10:16:28

wp231957 发表于 2021-3-2 09:48
举个例子吧,如果数组降为指针,那么它只是一个地址,数据多少和它没关系

不好意思,没太明白,如果没降为指针呢?

昨非 发表于 2021-3-2 10:21:11

哒哒哒加油哦 发表于 2021-3-2 10:16
不好意思,没太明白,如果没降为指针呢?

意思就是:箱子的大小是固定的,但是装什么是可以修改的

哒哒哒加油哦 发表于 2021-3-2 10:23:53

昨非 发表于 2021-3-2 10:21
意思就是:箱子的大小是固定的,但是装什么是可以修改的

但是在被调用的函数中定义数组,他的长度可以是变量,那么不就是箱子大小也可以变得吗?

昨非 发表于 2021-3-2 10:32:11

哒哒哒加油哦 发表于 2021-3-2 10:23
但是在被调用的函数中定义数组,他的长度可以是变量,那么不就是箱子大小也可以变得吗?

不可以,

哒哒哒加油哦 发表于 2021-3-2 10:35:25

昨非 发表于 2021-3-2 10:32
不可以,

为什么呢?

wp231957 发表于 2021-3-2 10:36:19

哒哒哒加油哦 发表于 2021-3-2 10:14
不好意思,没太明白,函数调用中数组的长度可以是变量这里还是不明白。

我是让你举个例子拿例子说话总比空讲要好一些

dysow 发表于 2021-3-2 10:47:37

c99不是可以定义动态数组了么

伪文青 发表于 2021-3-2 10:48:52

是不让你改变数组长度,但是可以改变值啊。

爱学习的憨憨 发表于 2021-3-2 11:01:35

C语言中数组在编译时就已经为分配好了内存空间,如定义int num,这个n你可以在数组定义之前对它随意赋值(一般是宏定义),但在编译时就已经是一个确定的数字了,不会改变了,即n=10相当于定义了一个int型长度为10的数组

昨非 发表于 2021-3-10 22:45:23

哒哒哒加油哦 发表于 2021-3-2 10:35
为什么呢?

乌龟的屁股
语法规定咯
页: [1]
查看完整版本: C语言中关于数组定义