C学习笔记(1)

1、执行如下代码返回的结果如何?

  printf(“%d”,sizeof 'A');

  本以为会输出:1,结果输出的是:4;

  但是如果是这样:

    char cval;

    printf(“%d”,sizeof(cval));

  输出结果是:1;

  但是在C++中(即,将文件存为cpp的),sizeof('a') = 1;

  这是因为:C语言中,字符型常量实际上是int型的,而C++中字符型常量为char型。

  (C语言中)经编码有如下结论:

  sizeof(int) = 4; sizeof(char) = 1; sizeof(long) = 4; sizeof(long long) = 8;

  sizeof(shot) = 2; sizeof(float) = 4; sizeof(double) = 8;

  还有:sizeof('a') = 4;

       sizeof("a") = 2;("a"是一个字符串常量,C语言中字符串后都会自动加一个‘\0’,而strlen("a") = 1)

2、 C语言允许初始化列表中出现多余的逗号。这种特性有什么用?
        int days[] = { 31, 28, 31, 30, 31, 30,31, 31, 30, 31, 30, 31, };

  这样设计的目的是方便代码美化工具的方便,如果换一种方式书写就更容易理解了。
  int days[] = {
              31, 28, 31, 30, 31, 30,
              31, 31, 30, 31, 30, 31,
    };

  这样很容易看出,初始化列表的每一行都是以逗号结尾的,正因为每一行在语法上的这种相似性,自动化的程序设计工具(例如,代码编辑器等)才能够更方便地处理很大的初始化列表。

  故最后一项允许多一个逗号的好处至少有:a.使每项格式一样。b.方便添加、删除、重排各项。

转载于:https://www.cnblogs.com/dpflnevergiveup/p/3271927.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值