2016 - 2024

感恩一路有你

c语言常量定义规则 在c语言中什么叫宏定义的常量?

浏览量:2715 时间:2021-03-14 08:59:57 作者:admin

在c语言中什么叫宏定义的常量?

在C语言中,宏定义的常量是没有以下格式定义的参数的常量:

#define identifier string

示例如下:

#include<stdio。H>#define PI 3.14//macro defined constant,即PI=3.14void main(){printf(%F”,PI)//调用宏定义常量,程序在编译阶段替换宏,即在编译阶段用3.14}

符号替换PI,用#define定义常量。符号常量必须在使用前定义。它的一般形式是:define identifier constant例如:define PI 3.14//没有分号。Define是一个预编译命令(预处理命令都以“#”开头,称为宏定义命令)。在预编译期间,它只替换字符。符号常量并不占用内存,它只是一个临时符号。预编译后,符号不存在,因此无法为符号常量指定新值。传统上,符号常量的标识符用大写字母表示,变量的标识符用小写字母表示。

C语音中的符号常量的定义方法是什么?

在C#中定义常量有两种方法,一种称为静态常量,另一种称为动态常量。前者由“const”定义,后者由“readonly”定义。

对于静态常量(编译时常量),其编写方式如下:

public const int Max_uuvalue=10

为什么称为静态常量?因为上面的语句可以理解为如下(注:以下文字有误,会有编译错误。这里只是为了方便)。

public static const int MAXuvalue=10

const定义的常量对于所有类对象都是相同的,因此您需要以静态成员的身份访问const定义的常量,如果您以对象成员的身份访问const定义的常量,则会出现编译错误。此外,对于静态常量访问,在编译时,常量将替换为常量的值,例如:

int nvalue=max编译后,此语句与以下语句生成的中间语言代码相同。

Int nvalue=10

但是,当使用const定义常量时,对类型有许多限制。首先,此类型必须属于值类型或字符串类型,并且此类型的初始化不能由new完成,因此struct定义的某些值类型常量不能由const定义。

与const相比,使用readonly定义常量更加灵活。它的编写方法如下:

public readonly int Max_uuvalue=10

称为动态变量,因为系统为readonly定义的常量分配了空间,即它与类的其他成员有独立的空间。此外,readonly定义的常量不仅可以在常量值中设置,还可以在类的构造函数中设置。由于readonly定义的常量等同于类的成员,因此在使用readonly定义常量时,使用const定义常量所施加的类型限制将消失,也就是说,您可以使用readonly定义任何类型的常量。

c语言常量定义规则 c语言的常量有哪几种类型 c语言常量

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。