但是在c中若constint X = 10把“=10”去掉。
那也可以编译成功了,因为这些定义都是弱符号,C语言可以支持多个弱符号。
例如:
C/C++code
/* headerer.h */
#ifndef HEADER_H_
#define HEADER_H_
#include <stdio.h>
const int X = 10
void func1(void)
void func2(void)
#endif
C/C++ code
/* file1.c */
#include "headerer.h"
void func1(void)
{
printf("This is file1. X =%d\n", X)
return
}
C/C++ code
/* file2.c */
#include "headerer.h"
void func2(void)
{
printf("This is file2. X =%d\n", X)
return
}
C/C++ code
/* main.c */
#include "headerer.h"
int main()
{
printf("This is main. X =%d\n", X)
func1()
func2()
return 0
}
一、区别如下:
1、int定义的量是变量,它的值可以更改;而const int 定义的是一个常量,它的值不可以更改。
2、int在定义的时候,不需要初始化,而const int 在定义的时候必须初始化;
二、const的作用:把对象转换成一个常量
拓展资料
const与define。两者都可以用来定义常量,但是const定义时,定义了常量的类型,所以更精确一些。#define只是简单的文本替换,除了可以定义常量外,还可以用来定义一些简单的函数,有点类似内联函数(Inline)。const和define定义的常量可以放在头文件里面。
参考资料:百度百科:CONST
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)