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[]

时间: 2024-10-14 21:42:29

C语言memset学习的相关文章

C语言课程学习的总结

本学期c语言的学习接近尾声,对此颇有感触,感受良多,随着考试的结束,c语言学习也告了一段落. c语言是一门计算机语言,用最原始的方法输入计算机,向我们展示它的神奇.它可以让我们更好的了解计算机,与计算机交流. 同时也是我们往后学习的基础,是重中之重.所以,c语言的学习对我们是很重要的. 在本学期的c语言学习中,遇到了不少的困难,但有些还是可以解决的.对于c语言的学习,虽然不是很会,但是也有自己的看法. 首先,在c语言的学习中,上课前自己要懂得去预习,尤其是一些知识点的概念和用法,还有教材的经典例

SQL Server 之T-SQL语言的学习

SQL Server 之T-SQL语言的学习 举例: 表1:学生表student 学号 姓名 性别 班级 2007001 李晓明 男 土木0701 2007002 王莉 女 信计0701 表2:成绩表score 学号 课程编号 课程名称 成绩 2007001 1949 高等数学 85 2007001 1823 C语言 98 2007002 1950 数据结构 60 1.数据定义语言 数据库语言属于第四类语言,与其他语言不同之处是: 不区分大小写 字符串全部用单引号 不区分字符和字符串 语句之间不

UNIX/Linux下C语言的学习路线

一.工具篇 “公欲善其事,必先利其器”.编程是一门实践性很强的工作,在你以后的学习或工作中,你将常常会与以下工具打交道, 下面列出学习C语言编程常常用到的软件和工具. 1.操作系统    在UNIX或Linux系统中学习C很方便,所以在开始您的学习旅程前请先选择一个UNIX或Linux操作系统,目前可供个人免费使用的UNIX或Linux系统有FreeBSD.RedHat Linux.SUSE Linux等,而且在安装包中还提供很多实用的工具,如:gcc, make等. 如果您一直使用Window

初探swift语言的学习笔记十一(performSelector)

作者:fengsh998 原文地址:http://blog.csdn.net/fengsh998/article/details/35842441 转载请注明出处 如果觉得文章对你有所帮助,请通过留言或关注微信公众帐号fengsh998来支持我,谢谢! 在OC中使用好好的performSelector,但不知为什么在swift有意的被拿掉了.更有甚者连IMP, objc_msgSend也不能用了.虽然想不通为什么,但应该有他的道理.就不纠结了. 大家可能在OC中使用得更多的就是延时处理,及后台处

初探swift语言的学习笔记十(block)

作者:fengsh998 原文地址:http://blog.csdn.net/fengsh998/article/details/35783341 转载请注明出处 如果觉得文章对你有所帮助,请通过留言或关注微信公众帐号fengsh998来支持我,谢谢! 在前面一些学习中,原本把闭包给理解成了block尽管有很多相似之处,但block还是有他自己的独特之外.近日,在写oc/swift混合编码时,有时候需要swift回调oc,oc回调swift . 因此我把swift中的 block 常见的声明和写

c语言指针学习

前言 近期俄罗斯的陨石.四月的血月.五月北京的飞雪以及天朝各种血腥和混乱,给人一种不详的预感.佛祖说的末法时期,五浊恶世 ,十恶之世,人再无心法约束,道德沦丧,和现在正好吻合.尤其是在天朝,空气,水,食品,你能告诉还有没有问题的吗?不知大难至,世人依旧忙.祸福相依,危中有机.那些高级生命,出于慈悲,会救渡我们,但是你要去思考,去发现机缘. 最近较闲,没事就学点基础知识,整天在上层晃,感觉晕的厉害,接地气.关于指针我上学的时候学过一点,我的老师说"指针很难呢",当时以为这老师挺谦虚的.后

C语言基础学习5:字符串与指针

1.字符串的表示形式 (1)用字符数组存放一个字符串,然后输出该字符串. char string[] = "I am happy"; printf("%s",string); (2)用字符指针指向一个字符串. char *string = "I am happy"; printf("%s",string); 2.字符指针作函数参数 (1)用字符数组作参数 void CopyString(char from[], char to

C语言基础学习3:数组与指针

数组元素的指针就是数组元素的地址. 1.指向数组元素的指针 C语言规定数组名(不包括形参数组名,形参数组并不占据实际的内存单元)代表数组中的首元素(即序列为0的元素)的地址. int a[10]; int *p1,*p2; p1 = &a[0]; p2 = a; p1和p2指向同一个数组a[10]. 2.通过指针引用数组元素 按C语言的规定,如果指针变量p已指向数组中的一个元素,则p+1指向同一个数组中的下一个元素,而不是将p的值(地址)简单的加1. 如果p的初值为&a[0],则 (1)

C语言基础学习3:指针

1.地址和指针的概念 一个变量的地址成为该变量的“指针”. 如果有一个变量专门用来存放另一变量的地址(即指针),则它称为“指针变量”,指针变量的值(即指针变量中存放的值)是地址(即指针). 指针是一个地址,而指针变量是存放地址的变量 2.变量的指针和指向变量的指针变量 2.1指针变量的定义 指针变量的定义:基类型 *指针变量名: int a; int *pointer; pointer = &a; 2.2指针变量的引用 指针变量中只能存放地址,不能将一个整数赋给一个指针变量. “&”和“*