文章目录
  1. 1. atoi

atoi

函数用来将字符串转换成整数(int)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
       #include <stdlib.h>

int atoi(const char *nptr);
long atol(const char *nptr);
long long atoll(const char *nptr);
long long atoq(const char *nptr);
````
【函数说明】atoi() 函数会扫描参数 str 字符串,跳过前面的空白字符(例如空格,tab缩进等,可以通过 isspace() 函数来检测),直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。

【返回值】返回转换后的整型数;如果 str 不能转换成 int 或者 str 为空字符串,那么将返回 0

温馨提示:ANSI C 规范定义了 stof()、atoi()、atol()、strtod()、strtol()、strtoul() 共6个可以将字符串转换为数字的函数,大家可以对比学习。另外在 C99 / C++11 规范中又新增了5个函数,分别是 atoll()、strtof()、strtold()、strtoll()、strtoull(),在此不做介绍。

范例:将字符串a 与字符串b 转换成数字后相加。




# memset
   #include <string.h>

   void *memset(void *s, int c, size_t n);
1
2
3
4
5
6
7
8
9



参数说明:
s 为要操作的内存的指针。
c 为要设置的值。你既可以向 c 传递 int 类型的值,也可以传递 char 类型的值,intchar 可以根据 ASCII 码相互转换。
num 为 ptr 的前 num 个字节,size_t 就是unsigned int
【函数说明】memset() 会将 s 所指的内存区域的前 num 个字节的值都设置为 c,然后返回指向 s 的指针。
memset() 可以将一段内存空间全部设置为特定的值,所以经常用来初始化字符数组。例如:

char str[20];
memset(str, ‘\0’, sizeof(str)-1);

【返回值】返回指向 ptr 的指针。
注意:参数 value 虽声明为 int,但必须是 unsigned char,所以范围在0 到255 之间。





# 基本数据类型

4大类数据类型
![4大类数据类型](https://img.vivatakethat.com/%E5%9F%BA%E6%9C%AC%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B.jpg "4大类数据类型")



整型、实型与字符型
![整型、实型与字符型](https://img.vivatakethat.com/%E5%9F%BA%E6%9C%AC%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B-%E8%A1%A8.jpg "整型、实型与字符型")


注:
>int、short int、long int是根据编译环境的不同,所取范围不同。而其中short int和long int至少是表中所写范围,但是int在表中是以16位编译环境写的取值范围。另外 c语言int的取值范围在于他占用的字节数 ,不同的编译器,规定是不一样。ANSI标准定义int是占2个字节,TC是按ANSI标准的,它的int是占2个字节的。但是在VC里,一个int是占4个字节的。



浮点数据是指带小数的数字。生活中有很多信息适合使用浮点型数据来表示,比如:人的体重(单位:公斤)、商品价格、圆周率等等。因为精度的不同又分为3种:
![浮点型](https://img.vivatakethat.com/%E6%B5%AE%E7%82%B9%E5%9E%8B.jpg "浮点型")

注:
>C语言中不存在字符串变量,字符串只能存在字符数组中




文章目录
  1. 1. atoi