前言
本文章是一个大一新生,C/C++初学者的学习笔记,用于记录学过的知识点,如有错误之处麻烦大家评论指出!
一、变量与内存的关系
变量与内存一 一对应
内存:单元是字节,每个字节存储8个bit
一台计算机的内存通常为几G
每个单元给于编号:00000000~FFFFFFFF
内存的单元编号列如:Address: 006FF7c0
变量的大小:
*char型变量:占1个字节
*short型变量:占2个字节
*int型变量:占4个字节
*long类型变量:占4个字节
如何获取变量地址:
#include<stdio.h>
int mian()
{
int a = 10;
printf("address:%p \n",&a);
return 0;
}
显示内存地址为:
address:008FFD78
(1)变量是在内存中有位置的(地址)
(2) 修改变量,即是修改内存
(3) 读取变量,即是读取内存
二、字符的概念与使用
1.ASCII码表
计算机是以二进制的形式来存储数据的,它只认识 0 和 1 两个数字,我们在屏幕上看到的文字,在存储之前都被转换成了二进制(0 和 1 序列),在显示时也要根据二进制找到对应的字符.
特定的文字必然对应着固定的二进制,否则在转换时将发生混乱。那么,怎样将文字与二进制对应起来呢?
这就需要有一套规范,计算机公司和软件开发者都必须遵守,这样的一套规范就称为字符集(Character Set)或者字符编码(Character Encoding)
字符集为每个字符分配一个唯一的编号,类似于学生的学号,通过编号就能够找到对应的字符
可以将字符集理解成一个很大的表格,它列出了所有字符和二进制的对应关系,计算机显示文字或者存储文字,就是一个查表的过程
我列出部分ASCII码表
ASCII码表无需记忆
用字符常量来表示ASCII码,需加单引号
‘A’ ‘a’ ‘I’ ‘+’ ‘\n’
它们本身就代表了一个数字
查ASCII码表
char ch = 'B';
printf("%d \n",ch);
在主函数中输入以两行代码即可查找B的ASCII码
2、转义字符
在C/C++中存在一些特殊的字符:
3、字符数组
字符数组的初始化
普通:
char str[6] = {'h','e','l','l','o','\0'}; //其中'\0'为结束符号
特殊:
char str[6] = "hello";
用char型数组来表示一个字符串,用%s把字符串打印出来
#include<stdio.h>
int main()
{
char str[]="hello";
printf("str= %s \n",str);
return 0;
}
打印输出:str=hello
字符串结束符’\0’
printf在打印一串字符时,遇到’\0’就会结束