memset()函数

main()
{
int a[101];
int i;
memset(a,1,sizeof(a));
for(i=1;i<=100;i++)printf("%d ",a[i]);
system("pause");
}
为什么a[]不是1而是16843009.
按字节填什么意思,看不懂
如果要填为1要怎么写memset()函数
以字节为单位是什么意思
如果要填为1要怎么写memset()函数,这个是顶重要的问题

  1、memset是计算机中C/C++语言函数。将s所指向的某一块内存中的前n个 字节的内容全部设置为ch指定的ASCII值, 第二个值为指定的内存地址,块的大小由第三个参数指定,这个函数通常为新申请的内存做初始化工作, 其返回值为指向s的指针。

  函数介绍:void *memset(void *s, int ch, size_t n);

  2、函数解释:将s中前n个字节 (typedef unsigned int size_t )用 ch 替换并返回 s 。

  memset:作用是在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法。

  3、范例:

  

温馨提示:内容为网友见解,仅供参考
第1个回答  2008-11-04
memset操作是以字节为单位的,如果把每个字节填充为1,就是memset(a, 1, sizeof(a));所以你打印出来的整型数是16843009,即0x01010101
如果你要让每个整型都是1,用最传统的办法,
for(i=0; i<101; i++)a[i]=1;本回答被提问者采纳
第2个回答  2008-11-04
memset是从a[0]开始赋值的,但是你打印的是a[1]开始的,所以a[0]中还是一个不确定的值。
所以显示就异常了。
以字节为单位是说,你填充的东西是要占一个字节的大小,比如给字符数组初始化,memset(a,‘0’,100);
第3个回答  2008-11-04
什么意思啊,memset是一个把字符串换成一些特定字的函数

memset函数及其用法,C语言memset函数详解
memset() 函数是用于初始化内存的工具。它的原型为:void *memset(void *s, int c, size_t n)。其中,s 是要初始化的内存区域首地址,c 是要填充的值,n 是要填充的字节数。此函数将s所指向的n个字节内存用整型值c填充。memset() 的用途主要是给内存块填充特定值,比如数组或结构体。由于它...

c语言中函数memset()是什么意思?什么功能
memset()的函数, 它可以一字节一字节地把整个数组设置为一个指定的值。 memset()函数在mem.h头文件中声明,它把数组的起始地址作为其第一个参数,第二个参数是设置数组每个字节的值,第三个参数是数组的长度(字节数,不是元素个数)。其函数原型为:void *memset(void*,int,unsigned);其中void*...

memset()函数
memset()函数是C\/C++编程语言中的一个实用工具,它的主要功能是在指定内存区域填充特定的ASCII值。这个函数的原型定义为:void *memset(void *s, int ch, size_t n)。它接受三个参数:一个指针s,表示要操作的内存地址;一个整数ch,代表要填充的ASCII值;以及一个size_t类型的n,表示填充的字节...

c++这个memset()函数有什么用? memset(什么意思,什么意思,什么...
memset函数解释:将 s 中后 n 个字节 (typedef unsigned int size_t)用 ch 替换并返回 s 。memset:作用是在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法。常见错误 第一: 搞反了 ch 和 n 的位置.一定要记住如果要把一个char a[20]清零,一定是...

c语言memset()函数怎么使用
1.int arr[10]={0};如果只对数组的一部分进行初始化,则编译器将把其他元素设置为0。因此,当只将第一个元素初始化为0时,编译器会自动将其他元素设为0 (就像前一句说的那样)。2.int arr[31]={};3.用memset函数在程序开始时初始化数组。比如:int arr[1024];memset(arr, 0, 1024); \/\/...

memset()函数
1、memset是计算机中C\/C++语言函数。将s所指向的某一块内存中的前n个 字节的内容全部设置为ch指定的ASCII值, 第二个值为指定的内存地址,块的大小由第三个参数指定,这个函数通常为新申请的内存做初始化工作, 其返回值为指向s的指针。函数介绍:void *memset(void *s, int ch, size_t n);2...

memset()函数
memset函数是C语言中用于填充内存区域的函数。以下是关于memset函数的 一、函数的基本功能 memset函数用于将一段内存区域设置为特定的值。这个函数在C标准库中定义,接受三个参数:一个目标内存区域的指针、需要填充的字节数以及一个源字节值。通过调用memset,程序员可以将内存区域初始化为特定的字节值,...

c语言中,memset() 这个函数做什么用?请给出实例。
这个函数可以说是用来清理内存内容的,比如 你声明一个变长的数组 printf("请输入数组的长度:");scanf("%d",&n);char arr[n];因为此处的数组变长 所以不能初始化 数组的里面存着一堆随机数,而你却需要将这个数组清空时就可以使用这个函数 例如menset(arr,0,20)---将数组arr的前20个清空...

C++中的memset和memcpy函数
memset和memcpy是C++中两个常用内存操作函数。memset用于设置内存块内容为特定值,memcpy用于复制内存块内容。具体用法如下:memset函数原型为void* memset(void* ptr, int value, size_t num)。ptr指向内存区域,value为设置值,num为设置字节数。该函数将ptr指向区域前num个字节设置为value。使用示例:...

请问51单片机可以使用memset()函数吗?
因此,即使在不同类型的单片机上使用memset()函数,只要该函数在所使用的编译器库中被正确实现,就能够在不同平台上实现相同的功能。总之,51单片机可以使用memset()函数,前提是你的KEIL C编译器库中包含了这个函数。函数的使用依赖于所使用的开发工具,而非单片机本身。

相似回答