## memset函数简介
memset函数是一个实用初始化函数,它可以将一个数组的所有值都初始化成一个数。但是,有些时候你要经过复杂的换算才能得出你想要的结果。
## 使用格式
memset(数组名称,想要的值,sizeof(数组名称));
### 举例
我们要把a数组全部初始化成0:
```cpp
memset(a,0,sizeof(a));
```
这样,的所有值都变成0了。
## 最简单的初始化值
在memset函数中,只有写-1与0这两个数才会初始化成本身的值。如果一个int变量标成1的话会初始化成16843009,具体标法:
```
0001 0001 0001 0001
备注:这是一个二进制数。
```
标法原因:因为一个int类型的变量有4个字节,所以4×4。
而long long则会初始化成72340172838076673,会变成一个非常大的数。
long long 也同理,8×8,这么标
```
00000001 00000001 00000001 00000001 00000001 00000001 00000001 00000001
```
## 最大的初始化值
一般情况下,127是最大的值了,标成128就会变成负数。
### 127时各种变量的值(洛谷在线ide):
| 变量类型 | 初始化后的值 |
| :----------- | :----------- |
| int | 2139062143 |
| long long |9187201950435737471 |
| float | 3.39615e+38 |
| double | 1.38242e+306 |
| long double| nan nan nan |
### 128(洛谷在线ide)时:
| 变量类型 | 初始化后的值 |
| :----------- | :----------- |
| int | -2139062144 |
| long long | -9187201950435737472 |
| float | -1.1801e-38 |
| double | -2.93745e-306 |
|long double|编译器被卡死|
------------
声明:这是洛谷用户名为@[西宋太祖](https://www.luogu.com.cn/user/218457)的文章,为了让更多人看到,本人是转载(~~未获得版权~~,因为本人就是@[西宋太祖](https://www.luogu.com.cn/user/218457))
0.0分
3 人评分