C语言memset学习
#include <stdio.h> #include <memory.h> void show(int a[][3]); //函数声明 void main(){int a[][3]={{23,46,11},{99,45,82},{72,90,21},{11,22,33}};//二维数组的定义show(a); //二维数组作为形参,遍历显示memset(a,0,sizeof(a));//对二维数组填充 0操作;即清零 show(a); } void show(int a[][3]) { int i,j;for(i=0;i<4;i++){for(j=0;j<3;j++){printf("%d ",a[i][j]);}printf("\n");} }
功 能: 将s所指向的某一块内存中的每个字节的内容全部设置为ch指定的ASCII值,
块的大小由第三个参数指定,这个函数通常为新申请的内存做初始化工作
用 法: void *memset(void *s, char ch, unsigned n);
程序例:
#include <string.h>
#include <stdio.h>
#include <memory.h>
int main(void)
{
char buffer[] = "Hello world/n";
printf("Buffer before memset: %s/n", buffer);
memset(buffer, '*', strlen(buffer) );
printf("Buffer after memset: %s/n", buffer);
return 0;
}
输出结果:
Buffer before memset: Hello world
Buffer after memset: ***********
一般来说,都是对数组进行修改操作,不要对cahr *s="i am student"操作,因为
s指向的是一段只读的内存,而你memset又试图修改它,所以运行时要出错,修改办法char *s修改为char s[]
转载于:https://www.cnblogs.com/shuqingstudy/p/4733064.html
C语言memset学习相关推荐
- C语言再学习 -- 再论内存管理
之前有总结过内存管理,参看:C语言再学习 -- 内存管理 但现在看来,缺少示例.从新再写一篇文章,着重介绍常见内存错误.跨函数使用存储区.开始吧,再论内存管理!! 发生内存错误是件非常麻烦的事情.编译 ...
- C语言再学习 -- 再论数组和指针
之前有总结指针数组,但是现在看来总结的太简单了.好多重要的知识点都是一带而过的.本想在后面添加后来想想算了,还是再写一篇文章来详细介绍数组和指针这对冤家吧. 之前总结的,参看:C语言再学习 -- 数组 ...
- C语言再学习 -- 字符串和字符串函数
最近身体很不给力,很乏累!白天没精神,晚上睡不着,心情还很烦躁.看书都有点看不下去的样子,到了C语言最难掌握的部分了,数组.指针.字符串.硬着头皮看书总结吧. 一.字符串 1.字符串介绍 字符串是以空 ...
- C语言再学习 -- 输入/输出
一.缓冲区 输入字符的立即回显是非缓冲或直接输入的一个实例,它表示你说键入的字符被收集并存储在一个被成为缓冲区的临时存储区域中.按下回车可使你所键入的字符块对程序变成可用. 为什么需要缓冲区?首先,将 ...
- C语言再学习 -- 关键字sizeof与strlen
sizeof 一.简单介绍 sizeof 是 C 语言的一种单目操作符,如 C 语言的其他操作符++.--等.它并不是函数.C 规定 sizeof 返回 sieze_t 类型的值.这是一个无符号整数 ...
- C语言指针学习与使用
C语言指针学习与使用 计算机存储 想要更好的使用指针,需要对计算机的存储有一定的概念和了解.下面的图片中展示了计算机的硬件结构: 存储设备除了上述的主存储器外,还有其他的一些在执行程序时可能会用到的存 ...
- c语言memset函数作用,C语言memset函数使用方法详解
C语言memset函数使用方法详解 一.函数原形 void * memset(void*s,int ch,size_t n) 二.函数作用 将以s内存地址为首的连续n个字节的内容置成ch,一般 ...
- c语言 字母 八进制表示'/1011',C语言C语言第一课:C语言概述为什么学习C语言怎样学习C语言.DOC...
[摘要]C语言 第一课: C语言概述 为什么学习C语言 怎样学习C语言 参考资料 ----------------------------------------------------------- ...
- R语言可视化学习笔记之相关矩阵可视化包ggcorrplot
本文转载自"R语言中文社区",己获授权. 作者简介Introduction taoyan:伪码农,R语言爱好者,爱开源. 个人博客: https://ytlogos.github. ...
- c语言struct_学习了C语言之后还是感觉不会编程,应该怎么办?其实你想错了!...
其实对于程序而言,C语言抑或着C++.Java等其他程序语言只是用于表达你的想法的一个工具.就像让我们以建筑为例,画图是一个基本功,但是画什么才是核心所在.那么,今天我们以一个设计一个RPG(角色扮演 ...
最新文章
- RANSAC算法做直线拟合
- Java模拟双色球彩票
- win7无损扩大c盘空间_无损网络导航的空间模型
- php json to object,PHP JSON_FORCE_OBJECT函数实现强转对象
- maven项目打包时生成dependency-reduced-pom.xml
- linux 更改ssh端口_如何在Linux中更改SSH端口-简易指南
- asp.net的10个提升性能或扩展性的秘密(一)
- C语言学习资料汇集 助你成为更好的程序员
- 何先振第2期:Java语言描述与编写第一个程序
- bt文件如何找到资源服务器,如何用Folx创建种子分享自己的文件资源
- 双交换消元:模合数多项式矩阵行列式、新伴随矩阵算法
- 领域自适应论文(六十八):Implicit Class-Conditioned Domain Alignment for Unsupervised Domain Adaptation论文原理
- Atitit 代理解决方案proxy solu attilax总结 1. 为什么需要代理	1 1.1. Ajax跨域	1 1.2. Nginx反向代理	1 2. 分类	2 2.1. 普通vs隧道	2
- 1月到12月 周一到周日 十二种颜色 用英语怎么说
- 央行:个人征信基本实现金融信用信息广覆盖
- discuz跳过云平台强制开启QQ互联(QQ登录)
- 为什么要用RSocket
- Microsoft Visual Studio Installer Projects下载缓慢下载不动的解决办法
- 一年级的孩子可以学习机器人编程
- 智能个性化推荐系统设计
热门文章
- Mysql 5.7 Gtid内部学习(八) Gtid带来的运维改变
- zuul业务检查相关模块
- 《云数据中心构建实战:核心技术、运维管理、安全与高可用》——2.4 云计算的发展历程与未来趋势...
- UITableView+UITableViewStyleGrouped 处理section之间间隙
- 通过定位position=fixed实现网页内容的固定层效果
- 《3D数学基础系列视频》1.2向量的数乘和加减法
- Linux core文件生成及设置 查看core文件由哪个程序生成的
- Css选择器命名规则
- LSI存储论坛:6Gb SAS让DAS焕发新活力?
- CF1041E Tree Reconstruction