zoukankan      html  css  js  c++  java
  • 单引号、双引号、int和char

    首先说一下C语言中用单引号和双引号的不同(一直搞不清楚):

    单引号代表的是一个整数,而这个整数的值是编译器所采用的字符集中的字符序列对应的值。所以一般'A'和ASCII中的65意义相同。
    对于双引号定义的我们可以叫他“字符串”,那么对于单引号定义的我们叫他字符常量或者字符。

    再说说int和char,现在感觉自己C语言中好多概念模糊啊,很多到用到的时候总是弄不清楚,基础不打好怎么向上进步呢?所以还是静下心来好好巩固一下基础吧。

    int是有符号整型,大部分系统默认int是long int,占4个字节,也就是32比特,32位二进制数。short int 就是占两个字节了。
    而char是字符型,占一个字节,可以用来表示一个字节的有符号整型数,但是用char定义整型数的时候要注意区分有符号和无符号,有符号char型的取值范围是(-128~+127),无符号整型数的取值范围是(0~255),定义的数一旦超过这个范围,即产生溢出,使数据出错,这是很严重的错误,千万记住。不同的编译器char表示的不同,我用的 cfree5里面,char就默认是有符号char(估计大部分也都是有符号的),最大只能定义127。也可以定义一个字符。但是定义的这个字符是以ASCII码值的8位二进制信息存放在内存里面的,不是一个字符存放在里面。那么再结合int来看,也就是说我们可以定义一个int类型的变量来存放四个字符。也最多只能存放4个单字符。但是这种方式编译器会警告。
    所以有时候想要节省单片机的空间的话可以定义char类型,但是有两点需要注意,一是注意你需要的数是有符号还是无符号,二是注意这个数不要溢出。
    之前我用单片机编程的时候。看人家用char我也用char。人家用unsigned char我也用,一点不清楚到底什么时候用这个?为什么用这个。今天总结完这些,开始明白了。

    既然char和int本质都是整数,为什么还要作区分呢?
    因为字符的个数相对较少,也就128个,因而char型变量的存储单元可以比int型变量的存储单元小。其实就是提出一种char型变量专门存储字符,方便程序员的数据选择。

    下面简单讲一下字符串:

    定义一个字符串常量的时候主要有两种方法:

    #include "stdio.h"
    
    char ch[] = "abcdef";//用一维数组来存放字符串  
    char *p = "hello,world";//用一个指针指向字符串的开头地址  
    
    int main(){
        
        printf("%s
    ",ch);
        printf("%s
    ",p);
        puts(ch);//使用puts函数输出字符串 
        puts(p); //puts输出字符串之后会自动换行 
    }

    但是字符串数组就需要二维数组来存放了。其实字符串数组就是二维数组。

    #include "stdio.h"
     
    
    char a[3][6] = {//二维数组存放多个字符串
        "hello",
        "world",
        "hi!",
    }; 
    
    int main(){
        
        for(int i = 0;i<3;i++){
            
            printf("%s
    ",a[i]);
        }     
    }

    其实都是很基本的C语言知识,但是谁让当时自己没有认真学的呢?现在只能慢慢来弥补了。

  • 相关阅读:
    IDLHDF5读取与转换
    IDL计算儒略日
    DOMContentLoaded和Window: load event
    eventloop(事件循环机制)
    @types
    ES6 Module import & export
    switch case
    python基础
    react-hooks 官方文档笔记
    base64编码图片
  • 原文地址:https://www.cnblogs.com/qsyll0916/p/7811784.html
Copyright © 2011-2022 走看看