首先说一下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. 线程同步 – lock和Monitor

    在多线程代码中,多个线程可能会访问一些公共的资源(变量.方法逻辑等等),这些公共资源称为临界区(共享区):临界区的资源是不安全,所以需要通过线程同步对多个访问临界区的线程进行控制. 同样,有些时候我们 ...

  2. css背景图等比例缩放,盒子随背景图等比例缩放

    很多时候我们给网站了一个大banner,但是随着屏幕的变化,背景会变形,我们知道background-size可以实现背景图等比例缩放,但是,我们想让下面的盒子根据缩放后背景图的高度,也能自动向上挤. ...

  3. Linux进程作业的查看和杀死

    引入进程 进程 线程 PS命令.TOP命令.其他查看进程命令 进程的优先级 作业控制机制 kill命令 一.引入进程 1.内存划分为:用户空间和内核空间 1.在用户空间里运行的进程,就是用户进程,所属 ...

  4. 【Android】水平居中 垂直居中 中心居中

    android:layout_centerInParent 将该组件放置于水平方向中央及垂直中央的位置 android:layout_centerHorizontal 将该组件放置于水平方向中央的位置 ...

  5. Linux应急响应(三):挖矿病毒

    0x00 前言 ​ 随着虚拟货币的疯狂炒作,利用挖矿脚本来实现流量变现,使得挖矿病毒成为不法分子利用最为频繁的攻击方式.新的挖矿攻击展现出了类似蠕虫的行为,并结合了高级攻击技术,以增加对目标服务器感染 ...

  6. AddParent

    using UnityEngine; using UnityEditor; using System.Collections; public class AddParent : ScriptableO ...

  7. Python标准异常和异常处理详解

    python提供了两个非常重要的功能来处理python程序在运行中出现的异常和错误.你可以使用该功能来调试python程序. 1.异常处理: 本站Python教程会具体介绍. 2.断言(Asserti ...

  8. ssiOS应用架构谈 本地持久化方案及动态部署

    本文转载至 http://casatwy.com/iosying-yong-jia-gou-tan-ben-di-chi-jiu-hua-fang-an-ji-dong-tai-bu-shu.html ...

  9. 《Lua程序设计》第3章 表达式 学习笔记

    3.1 算术操作符“+”(加法).“-”(减法).“*”(乘法).“/”(除法).“^”(指数).“%”(取模).3.2 关系运算符< > <= >= == ~=3.3 逻辑操 ...

  10. phaser相关

    phaser.js这个插件,中文翻译的开发文档还在翻译中,至于英文的开发文档,勉勉强强查阅,有些方法名和开发文档的有着一些区别,开发文档上时带着er的.不过大体上还是一一对应查找的到的 eg:load ...