m0_66855196 2022-02-26 22:31 采纳率: 81%
浏览 43
已结题

正确定义数组有什么要求?


int N=2008;
int num[N];


#define N 2008;
int num[N];
有什么不一样?
为什么第二种就正确,第一种就是错误的?

  • 写回答

3条回答 默认 最新

  • 谛凌 2022-02-26 22:49
    关注
    • C语言是运行之前先分配内存,如果你使用变量(也就是int N的形式)进行数组的定义,那么运行之前程序并不知道N是多大,所以没法给数组分配内存
    • 而define是宏定义,它是预定义,表示在程序运行之前先进行声明,所以程序运行之前已经知道N是多少,这样就可以给数组分配内存了
    • 麻烦点个采纳~结构体那个提问我也回复你了,请查看一下~~
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 3月3日
  • 已采纳回答 2月27日
  • 创建了问题 2月26日

悬赏问题

  • ¥15 hexo+github部署博客
  • ¥15 求螺旋焊缝的图像处理
  • ¥15 blast算法(相关搜索:数据库)
  • ¥15 请问有人会紧聚焦相关的matlab知识嘛?
  • ¥15 网络通信安全解决方案
  • ¥50 yalmip+Gurobi
  • ¥20 win10修改放大文本以及缩放与布局后蓝屏无法正常进入桌面
  • ¥15 itunes恢复数据最后一步发生错误
  • ¥15 关于#windows#的问题:2024年5月15日的win11更新后资源管理器没有地址栏了顶部的地址栏和文件搜索都消失了
  • ¥100 H5网页如何调用微信扫一扫功能?