美文网首页
C语言中的一些小知识

C语言中的一些小知识

作者: 零散的蒲公英 | 来源:发表于2019-08-02 09:43 被阅读0次

    关于定义、声明变量

    在C语言当中,使用变量前必须先声明。
    从编译原理上来说,声明是仅仅告诉编译器,有个某类型的变量会被使用,但是编译器并不会为它分配任何内存。而定义就是分配了内存。
    例如:

    //定义一个整形变量
    int a=1;//立刻为我们分配内存空间 赋值为1
    //声明一个整形变量 
    int a; 
    //再之后赋值
    a=1;//没有分配内存空间,当使用的时候才会分配内存空间(赋值)
    

    C 中的左值和右值

    • 左值:指向内存位置的表达式被称为左值表达式。左值可以出现在赋值号的左边或右边。
    • 右值:术语右值(指的是存储在内存中某些地址的数值。右值是不能对其进行赋值的表达式,也就是说,右值可以出现在赋值号的右边,但不能出现在赋值号的左边。

    宏定义

    #define name value//标准格式
    #define KSPECIALNUMBER 0//那么0这个数字就被我们重新定义了
    #define KNEWINT int//这时候int就可以用KNEINT来代替
    #define KPRINTF(x) printf(x)//同时,宏定义还可以实现语句的重新定义
    

    define是预处理指令,在行的末尾没有分号当程序编译的时候,预处理器会将每一个宏替换为其表示的值,宏的名字一般使用大写字母

    关于i++与++i

    i++语句是语句结束后再执行+1
    ++i是先+1再执行语句

    int a = 5;
    int b =  a++;
    //这时候a的值已经发生了改变
    printf("value of a:%d\n",a);
    int c =  ++a;
    printf("value of b:%d\nvalue of c:%d\n",b,c);
    

    这段代码的执行结果是


    执行结果

    强制转换与隐形转换

    隐形转换:低位向高位转换
    char -> int(float) ->double(long)
    强制转换

    int a3= (int) b1;
    

    相关文章

      网友评论

          本文标题:C语言中的一些小知识

          本文链接:https://www.haomeiwen.com/subject/fikkdctx.html