您身边的网站建设专家
成功案例

【建站服务】专业网站建设-网站设计-网站制作与网站开发-高端品牌企业宣传策划-博白上往建站-域名申请

日期: 2022-09-21 02:58:22 浏览数:6


上往建站提供服务器空间服务商百度快照排名网站托管百度推广运营,致力于设计外包服务与源代码定制开发360推广搜狗推广,增加网站的能见度及访问量提升网络营销的效果,主营:网站公司,百度推广公司电话,官网搭建服务,网站服务企业排名,服务器空间,英文域名等业务,专业团队服务,效果好。


专业网站建设-网站设计-网站制作与网站开发-高端品牌企业宣传策划-博白上往建站

网站建设.png

int main(){   int area;       area = LENGTH * WIDTH;   printf("value of area : %d", area);   printf("%c", NEWLINE);   return 0;}

当上面的代码被编译和执行时,它会产生下列结果:

value of area : 50

const 关键字

您可以使用 const 前缀声明指定类型的常量,如下所示:

const type variable = value;

const 声明常量要在一个语句内完成:

具体请看下面的实例:

实例

#include <stdio.h> int main(){   const int  LENGTH = 10;   const int  WIDTH  = 5;   const char NEWLINE = 'n';   int area;       area = LENGTH * WIDTH;   printf("value of area : %d", area);   printf("%c", NEWLINE);   return 0;}

当上面的代码被编译和执行时,它会产生下列结果:

value of area : 50

请注意,把常量定义为大写字母形式,是一个很好的编程习惯。

  1. #define 是宏定义,它不能定义常量,但宏定义可以实现在字面意义上和其它定义常量相同的功能,本质的区别就在于 #define 不为宏名分配内存,而 const 也不为常量分配内存,怎么回事呢,其实 const 并不是去定义一个常量,而是去改变一个变量的存储类,把该变量所占的内存变为只读!

    GHAKER

       GHAKER

      135***2092@qq.com

    5年前 (2017-11-09)
  2.    李大明白

      740***481@qq.com

    98

    反斜杠() 开头是叫转义序列(Escape Sequence)。

    ooo 是对用三位八进制数转义表示任意字符的形象化描述。

    比如 char ch = 'A'; 等价于 char ch = 0101; (以0开头的表示八进制)。

    xhh 里面是 x 是固定的,表示十六进制(hexadecimal),h 也表示十六进制。

    举例,char ch = 'A'; 就是用十六进制来表示,它与前面的 A 是等价的。

    可用如下代码证明它们等价:

    #include <stdio.h>
      int main(){
        printf("%c,%c,%c,%c", 0101, 'A', 'A', 'A');
        return 0;}
    李大明白

       李大明白

      740***481@qq.com

    4年前 (2018-02-24)
  3.    sanshi

      san***qq.com

    204

    const 定义的是变量不是常量,只是这个变量的值不允许改变是常变量!带有类型。编译运行的时候起作用存在类型检查。

    define 定义的是不带类型的常数,只进行简单的字符替换。在预编译的时候起作用,不存在类型检查。

    1、两者的区别

    (1) 编译器处理方式不同

    (2) 类型和安全检查不同

    (3) 存储方式不同

    (4) const 可以节省空间,避免不必要的内存分配。 例如:

    #define NUM 3.14159 //常量宏const doulbe Num = 3.14159; //此时并未将Pi放入ROM中 ......double i = Num; //此时为Pi分配内存,以后不再分配!double I= NUM; //编译期间进行宏替换,分配内存double j = Num; //没有内存分配double J = NUM; //再进行宏替换,又一次分配内存!

    const 定义常量从汇编的角度来看,只是给出了对应的内存地址,而不是象 #define 一样给出的是立即数,所以,const 定义的常量在程序运行过程中只有一份拷贝(因为是全局的只读变量,存在静态区),而 #define 定义的常量在内存中有若干个拷贝。

    (5) 提高了效率。 编译器通常不为普通const常量分配存储空间,而是将它们保存在符号表中,这使得它成为一个编译期间的常量,没有了存储与读内存的操作,使得它的效率也很高。

    (6) 宏替换只作替换,不做计算,不做表达式求解;

    宏预编译时就替换了,程序运行时,并不分配内存。

    sanshi

       sanshi

      san***qq.com

    4年前 (2018-04-21)
    • #define宏仅仅是展开,有多少地方使用,就展开多少次,不会分配内存。(宏定义不分配内存,变量定义分配内存。)

    • const常量会在内存中分配(可以是堆中也可以是栈中)。

    •  #define 宏没有类型,不做任何类型检查,仅仅是展开。

    •  const 常量有具体的类型,在编译阶段会执行类型检查。

    • #define 宏是在预处理阶段展开。

    •  const 常量是编译运行阶段使用。

  4.    哈哈

      253***721@qq.com

    169

    define 注意“边缘效应”,例:#define N 2+3, N 的值是 5。

    double a;a = (float)N/(float)2;

    在编译时我们预想 a=2.5,实际打印结果是 3.5 原因是在预处理阶段,编译器将 a=N/2 处理成 a=2+3/2,这就是 define 宏的边缘效应,所以我们应该写成 #define N (2+3)

    #include <stdio.h>#define N 2+3//正确写法 #define N (2+3)int main(){   
        double a ;
        a = (float)N/(float)2;
        printf("a 的值为 : %.2f", a);   
      
        return 0;}

    以下是一个求矩形面积的例子



专业网站建设-网站设计-网站制作与网站开发-高端品牌企业宣传策划-博白上往建站


上往建站提供搭建网站域名注册官网备案服务网店详情页设计企业网店专业网络店铺管理运营全托管公司咨询电话,服务器空间,微信公众号托管网页美工排版,致力于域名申请竞价托管软文推广全网营销,提供标准级专业技术保障,了却后顾之忧,主营:虚拟主机网站推广百度竞价托管网站建设上网建站推广服务网络公司有哪些等业务,专业团队服务,效果好。

服务热线:400-111-6878 手机微信同号:18118153152(各城市商务人员可上门服务)


全国咨询热线:400-111-6878

地址:全国各地都有驻点商务

Copyright © 2021 通陆科技

网站建设上往建站