变量、const、define相关知识

我们先来理解几个概念:

一、关键字:是由C语言规定的,是有着特殊意义或用途的。不能当作标识符,在C语言中无需声明,可直接使用。

二、标识符:是由我们自己定义的,但必须符合(由字母、数字或下划线组成,且只能字母或下划线开头,字母区分大小写),需要先声明才能使用且不能使用C语言关键字作为标识符。用于变量名称、函数名称等

三、变量:顾名思义就可是可变的量,程序运行中可多次修改(赋值)

四、const:声明常量,与define不同。const类似变量需要指定数据类型,但不能修改(当然通过内存地址还是有办法修改的)

五、define:是宏定义,在预编译就被替换了。define是纯字面常量,在程序支行中是无法被修改的(也无法通过内存地址修改)

下面来个Demo演示一下:

#include <stdio.h>
/*
时间:2022-03-30 16:43
作者:sgbl888
功能:
    1、定义变量
    2、普通常量定义const
    3、宏定义define
知识点:
    1、标识符是我们自己定义的,用于函数名称、变量名称等(必须以下划线或字母开头,且只能由下划线、字母、数字组成。字母区分大小写)
    2、关键字是C语言规定,有特殊意义和用途的,可直接使用,不能当作标识符。
    3、define定义是直接字面数值的并不需要声明类型的。预处理语句,在预编译时直接替换掉(是只读的)
    4、const常量定义是需要指定数据类型的。虽说不能被修改(通过内存地址还是有办法修改其值的)
    5、不管是变量、还是define或const都必须先定义才能被使用
    6、变量有两种定义方法:一、定义并初始化;二、定义后,再进行赋值。两种的区别在于 多次赋值是允许的,但多次初始化是不允许的。
*/
#define PRICE 3.0 //和#include一样,#define也是预处理语句,因此不需要以分号结束
const float NEW_PRICE = 3.1f; //定义常量,后面f或F表示float类型,因为默认是double类型

int main(){
    unsigned char num = 10; //定义无符号变量num,其它num就是定义的标识符
    //unsigned char num = 20; //到这行就报错,因为变量不能被多次初始化
    float totalPrice;           //只定义不初始化。如果去掉这行或移到下面,就报错,因为未声明。
    totalPrice = PRICE * num; //上面定义了,这边再赋值
    printf("price:%f\t num:%hd\t total price:%f\n", PRICE, num, totalPrice);

    totalPrice = NEW_PRICE * num; //是可以被多次赋值的
    printf("new price:%f\t num:%hd\t total price:%f\n", NEW_PRICE, num, totalPrice); // %t占位符表示tab制表符

    return 0;
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值