【面试论述】const的作用、使用举例与#define联系

原创 2016年05月30日 17:17:03

const的作用:

    a.使用习惯,若变量的值不会被修改,则在声明时就应当加上;

    b.该关键字可用来修饰变量,函数返回值,形式参数等等,表示不可修改;

    c.增加程序的健壮性。如,

char* strcpy(char* dest,const char* src)


const的使用:

int const a;

const int a;

    均表示整形变量a的值不可修改。


int const *pa;

    表示指针指向的值不可修改,而指针变量的值可以修改。


int *const pa;

    表示指针变量的值不可修改,而指向指针变量的值可以修改。


int const * const pa;

    第一个const修饰*pa,表示指向指针变量的值不可修改。

    而第二个const修饰pa,表示指针变量的值不可修改。


#define可以代替const,且比const更好。原因在于:

    #define只要是字面值常量均可以使用,而const仅仅能使用在有变量的地方。

    如声明数组长度:

#define MAXSIZE 1000
int arr[MAXSIZE] = {0};
int const maxsize= 1000;


本文出自 “Han Jing's Blog” 博客,请务必保留此出处http://10740184.blog.51cto.com/10730184/1741791

面试---const与#define的区别

C++ 语言可以用const来定义常量,也可以用 #define来定义常量。但是前者比后者有更多的优点:(1)const常量有数据类型,而宏常量没有数据类型。编译器可以对前者进行类型安全检查。而对后者...
  • will130
  • will130
  • 2015年09月23日 21:50
  • 304

程序员面试宝典随笔记(一)----define和const

#define RADIUS 100; const  float   RADIUS = 100; (1) 编译器处理方式不同   define宏是在预处理阶段展开。 ...
  • woalss
  • woalss
  • 2017年12月13日 22:22
  • 4

面试总结(static、const、define)

1.static           其中.text段保存进程所执行的程序二进制文件,.data段保存进程所有的已初始化的全局变量,.bss段保存进程未初始化的全局变量(其他段中还有很多乱七八糟...

const #define inline

  • 2012年04月12日 15:36
  • 27KB
  • 下载

iOS 宏(define)与常量(const)的正确使用

在iOS开发中,经常用到宏定义,或用const修饰一些数据类型,经常有开发者不知怎么正确使用,导致项目中乱用宏与const修饰 你能区分下面的吗?知道什么时候用吗? #define HSCod...

解析php中static,const与define的使用区别

本篇文章是对php中static,const与define的使用区别进行了详细的分析介绍,需要的朋友参考下define部分: 宏不仅可以用来代替常数值,还可以用来代替表达式,甚至是代码段。(宏的功能...

iOS 宏(define)与常量(const)的正确使用

在iOS开发中,经常用到宏定义,或用const修饰一些数据类型,经常有开发者不知怎么正确使用,导致项目中乱用宏与const修饰 你能区分下面的吗?知道什么时候用吗? #define HSCod...

iOS 宏(define)与常量(const)的正确使用

转自:点击打开链接http://www.jianshu.com/p/f83335e036b5。原作者:汉斯哈哈哈 在iOS开发中,经常用到宏定义,或用const修饰一些数据类型,经常有开...
  • zhh152
  • zhh152
  • 2017年04月05日 09:38
  • 95

iOS 宏(define)与常量(const)的正确使用

在https://github.com/oa414/objc-zen-book-cn#swift文章看到关于常量的问题,于是到网上差了一下,这篇文章写的很清晰 原文:http://www.jia...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【面试论述】const的作用、使用举例与#define联系
举报原因:
原因补充:

(最多只允许输入30个字)