C语言memset函数使用方法详解
C语言memset函数使用方法详解
一。函数原形 void * memset(void*s, int ch,size_t n)
二。函数作用 将以s内存地址为首的连续n个字节的内容置成ch,一般用来对大量结构体和数组进行清零
三。常见错误
1.搞反了 ch 和 n的位置
对char[20]清零,一定是 memset(a,0,20);
2.过度使用memset
3.其实这个错误严格来讲不能算用错memset,但是它经常在使用memset的场合出现
int fun(strucy something * a) { ..... memset(a,0,sizeof(a)); ..... }
这里错误的原因是VC函数传参过程中的指针降级,导致sizeof(a),返回的是一个 something*指针类型大小的的字节数,如果是32位,就是4字节。经常使用这种形式
memset(a,0,n*sizeof(type));
4.想对数组初始化为1
int main() { int a[20]; memset(a,1,20); }
这种方法不能初始化为1。原因是memset函数是按照字节赋值的,int 是4个字节所以为0x01010101,就是十进制的16843009。
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
相关推荐
-
memset函数的使用分析
1.void *memset(void *s,int c,size_t n)总的作用:将已开辟内存空间 s 的首 n 个字节的值设为值 c.2.例子 复制代码 代码如下: #includevoid main(){char *s="Golden Global View";clrscr();memset(s,'G',6);printf("%s",s);getchar();return 0;} 3.memset() 函数常用于内存空间初始化.如: 复制代码 代码如下: c
-
C++中memset函数用法详解
本文实例讲述了C++中memset函数用法.分享给大家供大家参考,具体如下: 功 能: 将s所指向的某一块内存中的每个字节的内容全部设置为ch指定的ASCII值,块的大小由第三个参数指定,这个函数通常为新申请的内存做初始化工作 用 法: void memset(void *s, char ch, unsigned n); 程序示例: #include <string.h> #include <stdio.h> #include <memory.h> int main(v
-
C语言memset函数使用方法详解
C语言memset函数使用方法详解 一.函数原形 void * memset(void*s, int ch,size_t n) 二.函数作用 将以s内存地址为首的连续n个字节的内容置成ch,一般用来对大量结构体和数组进行清零 三.常见错误 1.搞反了 ch 和 n的位置 对char[20]清零,一定是 memset(a,0,20); 2.过度使用memset 3.其实这个错误严格来讲不能算用错memset,但是它经常在使用memset的场合出现 int fun(strucy someth
-
C语言system函数使用方法详解
目录 函数接口 作用 返回值 测试代码 参数 MODE命令 color命令 函数接口 _DCRTIMP int __cdecl system( _In_opt_z_ char const* _Command ); system函数已经被收录在标准c库中,头文件为<stdlib.h> 作用 执行系统命令调用命令处理器来执行命令. 如果命令是空指针,则该函数只检查是否有命令处理器可以被此函数使用. 命令非空则调用命令的效果取决于系统和库的实现,并可能导致程序以非标准的方式运行或终止. 补充: 执行
-
C语言qsort函数使用方法详解
目录 1.qsort函数 1.1qsort函数功能 1.2参数介绍 2.qsort函数功能测试 3.冒泡排序思想模拟实现qsort 1.qsort函数 void qsort (void* base, size_t num, size_t size, int (compar)(const void,const void*)); 1.1qsort函数功能 可以排序任何数据类型 对 所指向的数组元素进行排,使用函数确定顺序. 此函数使用的排序算法通过调用指定函数并指向元素的指针作为参数来比较元素. 该
-
Go语言HttpRouter路由使用方法详解
HttpRouter是一个轻量级但却非常高效的multiplexer.手册: https://godoc.org/github.com/julienschmidt/httprouter https://github.com/julienschmidt/httprouter 用法示例 package main import ( "fmt" "github.com/julienschmidt/httprouter" "net/http" "
-
C语言 操作符#与##使用方法详解
目录 一.# 运算符 二.## 运算符 三.小结 一.# 运算符 # 运算符用于在预处理期将宏参数转换为字符串 # 的转换作用是在预处理期完成的,因此只在宏定义中有效 编译器不知道 # 的转换作用 用法: #define STRING(x) #x printf("%s\n",STRING(Hello World!)); 下面通过一个示例感受一下: test.c: #include <stdio.h> #define STRING(x) #x int main() { pri
-
C语言实现面向对象的方法详解
目录 1.引言 2.封装 3.继承 4.多态 4.1 虚表和虚指针 4.2 在构造函数中设置vptr 4.3 继承 vtbl 和 重载 vptr 4.4 虚函数调用 4.5 main.c 5.总结 1.引言 面向对象编程(OOP)并不是一种特定的语言或者工具,它只是一种设计方法.设计思想.它表现出来的三个最基本的特性就是封装.继承与多态.很多面向对象的编程语言已经包含这三个特性了,例如 Smalltalk.C++.Java.但是你也可以用几乎所有的编程语言来实现面向对象编程,例如 ANSI-C.
-
C++中可以接受任意多个参数的函数定义方法(详解)
能够接受任意多个参数的函数,可以利用重载来实现.这种函数的执行过程类似于递归调用,所以必须要有递归终止条件. #include <iostream> #include <bitset> void print() {} // 递归终止条件.这是必需的. template<typename Type, typename... Types> void print(const Type& arg, const Types&... args) { std::cou
-
在一个页面重复使用一个js函数的方法详解
1.给每个拥有相同行为的问题DOM节点一个相同的class类,如question,同时给不同的问题一个不同的标识ID如 id="question1" id="question2"...诸如此. 2.给类.question绑定点击事件,在触发函数里面先判断当前点击的这个类的id,即可知道你要操作的是哪一个问题,然后调用你的那个伸缩函数即可. <!DOCTYPE html> <html> <head lang="en"&
-
对Python实现累加函数的方法详解
这个需求比较奇怪,要求实现Sum和MagaSum函数,实现以下功能 Sum(1) =>1 Sum(1,2,3) =>6 MegaSum(1)() =>1 MegaSum(1)(2)(3)() =>6 实际上Sum就是Python自建的sum函数,它支持变参,变参怎么实现,自然是*args,所以很容易写出雏形: Sum def Sum(*args): count = 0 for i in args: count+=i return count 第二个函数就有点皮了,它要求有参数的时候
-
如何在 clion 运行多个 main 函数(方法详解)
在写 C++ 的题目的时候经常会遇到这样的问题,写了多个 cpp 文件,在 clion 中编译报错不能同时存在多 main 函数 这里写了一个小程序优雅地解决这个问,非常简单,就是就是读字符串写文件 直接修改一下 CMake 自动遍历文件即可 多个 main 函数的报错 在 clion 中写完一题,想写下一题,结果发现 main 函数不能运行 正确的解决方法 在牛客用户AAnonymous的告知下,借鉴了他的 github 上的CMakeLists.txt,直接修改 CMakeLists.txt
随机推荐
- jQuery实现图片渐入渐出切换展示效果
- javascript 动态创建表格
- WPF中引入WindowsForms控件的方法
- Python中的yield浅析
- 一张图告诉你计算机编程语言的发展历史
- jsp简单实现页面之间共享信息的方法
- JS控件autocomplete 0.11演示及下载 1月5日已更新
- sql2000各个版本区别总结第1/3页
- 通过SQL语句直接把表导出为XML格式
- Javascript之this关键字深入解析
- nodejs中的fiber(纤程)库详解
- 纯C语言:折半查找源码分享
- 结合C++11的新特性来解析C++中的枚举与联合
- php 上一篇,下一篇文章实现代码与原理说明
- linux下access函数的用法介绍
- 详解Nuxt.js Vue服务端渲染摸索
- vue+element-ui+ajax实现一个表格的实例
- JavaScript实现数组全排列、去重及求最大值算法示例
- 使用python爬虫获取黄金价格的核心代码
- 易语言在编辑框中只允许输入指定类型内容的方法