爱问知识人 爱问教育 医院库

C语言为什么要求先定义后使用?

首页

C语言为什么要求先定义后使用?


        

提交回答
好评回答
  • 2010-02-24 17:33:56
    也有某些语言是不定义就可以使用变量的,比如linux上面的awk(准确来说是一个工具)。
    那么C为什么要求定义变量呢?除了楼上所说用于在程序初始化和退出时分配回收内存空间以外。
    在实际的开发中,定义变量在提高源代码的安全性上面是很重要的。
    如果c中不定义就能使用变量的话会发生上面情况呢?下面举个例子:
    假如说我有一个全局变量money在代码中有50处使用到。在代码的第12345行我不小心将money写成了menoy但是由于变量不需要事先声明的。说以编译器还是能正常编译。但是程序在运行期间却产生了逻辑性的错误。这个错误要排除简直是千难万难了。
    而正常的c程序比如我先声明了变量int money 在程序中却不小心写成了menoy的话,只要menoy是没有声明过的变量。编译器是绝对会报错的。

    S***

    2010-02-24 17:33:56

其他答案

    2010-02-24 10:31:38
  • 这是编程语言的语法规则,它这样定义的主要目的是为了让编译器首先知道该定义变量的类型,可以事先为该变量安排存储空间,不致于最后编译失败。如果预先没有定义,可想而知,编译器会弄不清楚此变量类型,如果分配空间大了浪费,小了存不下。
    所以才有了变量一定要先定义,然后才能使用。

    迴***

    2010-02-24 10:31:38

  • 2010-02-23 17:12:40
  • 1、只有定义了一个变量(包括变量类型和变量名),编译系统才会在编译时根据变量的类型为其分配内存单元,并将变量名与其存储单元对应起来,你才能往变量中输入具体的变量值。
    2、在C语言汇中,所有的变量定义,必须在变量使用之前,其中一个考虑是要求编程者在编码之前就要对程序的整体结构有个整个把握,要用到多少个变量,多少中类型的变量等。避免因考虑不周,在编程过程中滥用变量。
    

    o***

    2010-02-23 17:12:40

  • 2010-02-23 11:27:09
  • 定义过之后系统会给参数开辟内存空间,才可以使用,不然系统怎么办,

    e***

    2010-02-23 11:27:09

类似问题

换一换

相关推荐

正在加载...
最新资料 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 173-192
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):