首先说一下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\n",ch);
printf("%s\n",p);
puts(ch);//使用puts函数输出字符串
puts(p); //puts输出字符串之后会自动换行
}

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

#include "stdio.h"

char a[][] = {//二维数组存放多个字符串
"hello",
"world",
"hi!",
}; int main(){ for(int i = ;i<;i++){ printf("%s\n",a[i]);
}
}

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

单引号、双引号、int和char的更多相关文章

  1. 转发:【PHP】转义和过滤html单、双引号及HTML标签

    一.单引号和双引号转义在PHP的数据存储过程中用得比较多,即往数据库里面存储数据时候需要注意转义单.双引号: 先说几个PHP函数: 1.addslashes — 使用反斜线引用(转义)字符串: 返回字 ...

  2. Linux中的元字符和转义符 单引号 硬引号 双引号 软引号

    Linux中的元字符和转义符  单引号  硬引号  双引号  软引号 Linux就这个范儿 Linux就这个范儿 P182单引号:硬引号,所有元字符特殊意义都会关掉双引号:软引号,只允许出现特定元字符 ...

  3. PHP中单引号双引号使用原则

    PHP中单引号双引号使用原则   1.PHP中尽量用单引号,HTML代码全部用双引号   2.在包含变量的时候,用双引号可以简化操作   3.复杂的情况下用大括号包起来   4 PHP引号还有一个用处 ...

  4. python中的单引号,双引号,三引号

    转载自: http://blog.csdn.net/wanghai__/article/details/6285310 先说1双引号与3个双引号的区别,双引号所表示的字符串通常要写成一行 如: s1 ...

  5. Python 基础 (单、双引号区别) 不断补充

    最近开始学习Python ,一些小细节的东西不是很理解,所以就记录一下,方便自己以后查看. 我的Python环境: Mac pro 10.12.3,Python3.5 ,Pycharm 多句题外话:公 ...

  6. python:单引号,双引号和三引号

    python中字符串可以用单引号括起来,也可以用双引号,这两种方式是等价的需要表示一个字符串对象的话,单引号和双引号没有区别 为什么需要单引号和双引号同时支持,而一般都是”呢? 比如” 双引号’里面有 ...

  7. XML中& <> 单引号' 双引号 " 报错

    由于xml中 这些字符是特殊字符,所以把&改成&  就行了 ,注意后面一定要带一个分号; <         <         小于号>         >  ...

  8. python中单引号, 双引号,三引号的差异

    1. 单引号和双引号用法都是一样的,但是如果字符串里有相同的字符时要使用\进行转义 举例:1) print 'hello'2) print "hello"1和2,结果都是hello ...

  9. HTML 如何显示英文单、双引号

    // 过滤英文引号替换成中文引号 function pregstring($str){ return preg_replace('/"([^"]*)/','&quot${1 ...

  10. 【python】字符串变量赋值时字符串可用单或双引号

    >>> name='萧峰' >>> print(name) 萧峰 >>> name="独孤求败" >>> p ...

随机推荐

  1. 用Python写简单的爬虫

    准备: 1.扒网页,根据URL来获取网页信息 import urllib.parse import urllib.request response = urllib.request.urlopen(& ...

  2. ajax+json+Struts2实现list传递(转载)

    一.首先需要下载JSON依赖的jar包.它主要是依赖如下: json-lib-2.2.2-jdk15 ezmorph-1.0.4       commons-logging-1.0.4       c ...

  3. javascript拖拽操作

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. SpringBoot(十一)-- 动态数据源

    SpringBoot中使用动态数据源可以实现分布式中的分库技术,比如查询用户 就在用户库中查询,查询订单 就在订单库中查询. 一.配置文件application.properties # 默认数据源 ...

  5. java List分批处理

    java List分批处理,例如对List中的数据进行批量插入. 方法一: /** * ClassName:Test List分批处理 * @author Joe * @version * @sinc ...

  6. hibernate sqlite jdbctemplate 待研究

    http://my.oschina.net/lldy/blog/39058                                   hibernate sqlite http://foru ...

  7. Redis 操作字符串数据

    Redis 操作字符串数据: > set name "Tom" // set 用于添加 key/value 数据,如果 key 存在则覆盖 OK > setnx nam ...

  8. Ansible的Inventory管理

    Ansible将可管理的服务器集合成为Inventory,Inventory的管理便是服务器的管理. hosts文件的位置: /etc/ansible/hosts 在命令行通过-i参数指定 通过/et ...

  9. linux实现开机自启动脚本

    Linux下(以RedHat为范本)添加开机自启动脚本有两种方法,先来简单的; 一.在/etc/rc.local中添加如果不想将脚本粘来粘去,或创建链接什么的,则:step1. 先修改好脚本,使其所有 ...

  10. N76E003的学习之路(ADC简单小例程篇)

    N76E003内嵌12位逐次逼近寄存器型(SAR)的模拟数字转换器(ADC).模数转换模块负责将管脚上的模拟信号转换为12位二进制数据.N76E003支持8通道单端输入模式.内部带隙电压(band-g ...