蓝桥杯基础知识3 memset()
#include
using namespace std;
int main(){
int a[5]; //随机数
for(int i = 0;i (a[i]) (a[i])
C++ 在线工具 | 菜鸟工具 (runoob.com)
原码,反码,补码相互转换在线计算器 (23bei.com)
8位的系统中-1
补码为8个1,即11111111;0的补码是00000000
memset()是一个用于设置内存块值的函数。定义在头文件中。函数声明:
void* memset(void*ptr, int value, size_t num);
// 指针 值 重置大小
ptr:指向要设置值的内存块的指针。
value:要设置的值,通常是一个整数。
num:要设置的字节数。
memset()将ptr指向的内存块的前num个字节设置为value的值,返回一个指向ptr的指针。
memset() 的作用是在一段内存块中填充某个给定的值。
memset(arr, 0, sizeof(arr)) 或 memset(arr, 0, sizeof arr)将数组arr的所有元素设置为0.
对于非服务器托管网字符类型的数组可能产生未定义行为。memset会将每个byte设置成value。
char ~ 8bit ~ 1 Byte int ~ 32bit ~ 4Byte
value = 1,二进制表示:00000001 00000001 00000001 00000001
//n必须为宏或者constexpr
int arr[n] = {0};
C/C++基础语法 定义一个数组并初始化为0
//int arr[n];
arr[n] = {0};
把数组后面的一块大小为sizeof(int)的内存复制为0,这块内存不属于数组,具体执行结果与内存结构有关,属于典型未定义行为。
#include
using namespace std;
int main(){
int n = 5;
int b[n] = {};
for(int i = 0; i
reference:
原码和补码之间的相互转化 – 知乎 (zhihu.服务器托管网com)
为什么0的补码形式只有一种?-CSDN博客
c++ – What’s the difference between constexpr and const? – Stack Overflow
浅谈 C++ 中的 const 和 constexpr – 知乎
C 库函数 – memset() | 菜鸟教程 (runoob.com)
C++中memset(a, 0, sizeof(a))和a[n] = {0}有什么本质上的区别? – 知乎 (zhihu.com)
C++中memset()函数的用法详解_c++如果a数组是int类型,则memset是以每4个字节为一组赋值-CSDN博客
memset函数及其用法,C语言memset函数详解 (biancheng.net)
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
相关推荐: 判断完全数-第11届蓝桥杯省赛Python真题精选
[导读]:超平老师的Scratch蓝桥杯真题解读系列在推出之后,受到了广大老师和家长的好评,非常感谢各位的认可和厚爱。作为回馈,超平老师计划推出《Python蓝桥杯真题解析100讲》,这是解读系列的第27讲。 判断完全数,本题是2020年6月20日举办的第11…