司二
2021-06-18 14:38
采纳率: 88.2%
浏览 41

数组的维数为什么要是常量表达式,可以是变量吗?

数组的维数为什么要是常量表达式,可以是变量吗?

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • 抬头见山 2021-06-18 14:45
    已采纳

    数组的大小不能用变量表示的,是因为在编译连接期间内存要按照你制定的长度给数组分配相应的内存空间,如果是变量的话就没有办法给它分配了,你可以用符号常量来解决,在开头用:

    # define m 100

    # define n 100 然后在程序中就可以定义u[m][n]二维数组了,当不一定非要是100,可以是任何一个正整数

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • qfl_sdu 2021-06-18 14:55

    数组的大小是固定的,不能用变量,如果想用变量的话,需要用指针:

    //n是一个变量

    int *arr = new int[n];这样,可以像使用数组一样使用,效果类同与arr[n],最后记得delete就可以了。

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题