C语言中变量的声明与分号的使用

断断续续学习C语言多年了,可能自学这种语言, 对我来说难度有点大...

 

1.变量和函数使用前需要声明, 而声明从执行结果上分为两种

     A.声明并创建变量  (定义性声明, 分配内存)      B.只声明变量 (引用性声明)

     A例:int age;                                                    B例:extern int age;

     所以, 定义性声明之后, 可以用&取到对象的地址(指针)

 

     相类似的, 函数声明也有引用性函数声明和定义性函数声明

 

2. C语言使用分号做为语句的结尾, 可以出现在 1变量声明尾部, 2函数引用性声明尾部, 3<类型定义>尾部, 4表达式语句5选择语句6循环语句 的尾部

    变量声明和函数引用性声明, 还有类型定义, 都不是语句, 这里只是为了方便在一起叙述
    

3.分号与逗号对应

使用分号做结尾, 有一个原因是分号前, 可能会出现逗号:

例: int a, b;

     struct rect {int width; int height;}  r_a, r_b ;     //定义性声明, 会为r_a, r_b两个变量分配内存

    struct point {int x; int y;};    //引用性声明, 没有变量需要分配内存, 这里只是一个"自定义类型"的类型定义语句

    C++中, class person {public: char * name;};   //与前一行的结构声明是相同情况, 只是一个"自定义类型"的类型定义语句

 

4.{}后面什么时候有分号, 什么时候没有分号?   

   A: {}用做函数体起止符时, 也就是函数定义尾部, 不可以跟有分号, 而引用性函数声明带分号,

void a(), b();

a(){}
b(){}

   B:用做类<类型定义>, 结构<类型定义>的起止符时, 需要跟有分号, 语法允许在分号前,同时声明使用逗号隔开的多个变量

   C:用做复合语句起止符时, 可能跟有分号, 也可能不可以跟有分号。 很明确的是, else前的}一定不可以有分号

      复合语句的{}, 可以认为不允许跟有分号。实际看到的分号, 多数是隶属if语句的, 或是while语句的

 

5. 预处理指令, 标号都是单占一行, 不可以跟有分号

 

 

 

 

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值