memset的用法

memset的功能是将一块内存中的内容以单个字节逐个拷贝的方式放到指定的内存中去。

如memset(dp,0,sizeof(dp))其中dp为一个int型数组,因为int为4个字节,那么每一个字节的位置上都放 00000000 最后放的就是

00000000 00000000 000000000 00000000 将该二进制转化为10进制后为0

如果放-1 。则放的是 11111111 11111111 11111111 11111111 (每一个8位是-1的补码。)转化为十进制后也是-1

如果放1 。则放的是 00000001 00000001 00000001 00000001 转化为十进制后显然不为1

如果放127 。(127的二进制表示是01111111)则放的是01111111 01111111 01111111 01111111 转化后是2139062143这样就可以讲数组初始化为一个很到的值

但是如果放128 (128的二进制是10000000)则放的是10000000 10000000 10000000 10000000 (转化为十进制)

因为最高位是1 所以是负数,因为这是补码,还原成原码

补码 10000000 10000000 10000000 10000000

反吗 10000000 10000000 10000000 01111111

原码 11111111 01111111 01111111 10000000

这个数是-2139062144。这样就可以讲数组初始化为一个很小的数。

时间: 2024-12-24 20:30:59

memset的用法的相关文章

memset函数用法及注意事项

头文件#include<cstring> ------------------------------------------ 在memset使用时要千万小心,在给char 以外 的数组赋值时,     只能初始化为0或者-1.    (看最后的0和1的补码)///////////      给bool类型数组可以初始化1------------------------------------------ 头文件#include<cstring>int arr[100];memse

C语言输入输出的基础知识及strlen、memset的用法

printf printf()函数是格式化输出函数, 一般用于向标准输出设备按规定格式输出信息. printf()函数的调用格式为: printf("<格式化字符串>", <参量表>). printf 函数的一般形式为: int printf(const char *format,[argument]); 格式输出,它是c语言中产生格式化输出的函数(在 stdio.h 中定义).用于向终端(显示器.控制台等)输出字符.格式控制由要输出的文字和数据格式说明组成.要

20135304刘世鹏——信息安全系统设计基础第十二周总结

一.代码理解 1.env文件夹-environ.c代码 #include <stdio.h> #include <stdlib.h> int main(void) { printf("PATH=%s\n", getenv("PATH"));//getenv函数用来取得参数PATH环境变量的值,执行成功则返回该内容的指针 setenv("PATH", "hello", 1);//见下方解释 printf(

小学生算术

#include<iostream> #include<memory.h> using namespace std; int main() { char m[4],n[4]; cin>>m>>n; int temp[4]; while(m[0]!='0'&&n[0]!='0') { int N=0; memset(temp,0,sizeof(temp)); for(int i=2;i>=0;i--) { temp[i]=temp[i]+

比赛--找丢失的数--解题报告T

找丢失的数 题目大意: There is a permutation without two numbers in it, and now you know what numbers the permutation has. Please find the two numbers it lose. 要求: Input There is a number  shows there are  test cases below. (T<=10)  For each test case , the fi

孙鑫视频VC++深入详解学习笔记

Lesson1: Windows程序运行原理及程序编写流程 Lesson2: 掌握C++基本语法 Lesson3: MFC框架程序剖析 Lesson4: 简单绘图 Lesson5: 文本编程 Lesson6: 菜单编程 Lesson7: 对话框编程 Lesson9: 定制应用程序的外观 Lesson10: 绘图控制 Lesson11 图形的保存和重绘 Lesson12 文件操作 Lesson 13: 文档串行化 Lesson14 网络编程 Lesson 15 多线程 Lesson 16 线程同步

一起talk C栗子吧(第七十回:C语言实例--字符串初始化函数)

各位看官们,大家好,上一回中咱们说的是字符串查找的例子,这一回咱们说的例子是:字符串初始化函数.闲话休提,言归正转.让我们一起talk C栗子吧! 在定义局部变量的时候,我们需要对字符串进行初始化操作.当然了,手动给字符串初始化是可以的,不过标准库给我们提供了专门的初始化函数:memset.下面我们来介绍它的用法. memset函数用法 memset函数的原型:void *memset(void *s, int c, size_t count) memset函数的用法:在s指向的字符串中,把前c

C语言课程设计第三节课作业刘子威

1 指针的概念分解      指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址. 要搞清一个指针需要搞清指针的四方面的内容: 1.指针的类型2.指针所指向的类型3.指针的值或者叫指针所指向的内存区4.还有指针本身所占据的内存区 学习C语言动态内存分配 对于指针,正确的分配动态内存是十分重要的,本文将着重阐述动态内存分配函数malloc,calloc,realloc以及memset的用法. 一.对于malloc,在终端输入 #:man  malloc可以知道函数原型是: Void

uva-1339Ancient Cipher

Ancient Roman empire had a strong government system with various departments, including a secret service department. Important documents were sent between provinces and the capital in encrypted form to prevent eavesdropping. The most popular ciphers