C语言编程有关memset函数

用memset给数组赋初值的时候
main()
{int i,b[10];
memset(b,0,10);
for(i=0;i<10;i++)printf("%d",b[i]);
}
为什么结果不是0000000000呀?

在你调用memset()函数时,第三个参数大小不对,应该是memset(b,0,40)。
实际上一个整型的变量在32位机的内存中占用4个字节
的大小。如:你可以定义一个整型变量a然后用:
printf("%d",sizeof(a));看到它在内存中占用的字节数。

当然建议在调用memset()函数时用sizeof()函数来自动
取它的大小,如你的例子中可以用:
memset(b,0,sizeof(b));
温馨提示:内容为网友见解,仅供参考
第1个回答  2006-02-06
memset(b,0,10*sizeif(int));
才对,
因为memset操作得函数都是以byte为单位得,
具体就是上面你只将10byte置0了,而一个int是占4个byte得
第2个回答  2006-02-06
楼上的应该是sizeof啊 呵呵

C语言编程有关memset函数
在你调用memset()函数时,第三个参数大小不对,应该是memset(b,0,40)。实际上一个整型的变量在32位机的内存中占用4个字节 的大小。如:你可以定义一个整型变量a然后用:printf("%d",sizeof(a));看到它在内存中占用的字节数。当然建议在调用memset()函数时用sizeof()函数来自动 取它的大小,如...

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

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

c语言里有memset()怎么用?需要什么头文件?
memset为内存填充函数,可以用它对一片内存空间进行初始化, 它可以一字节一字节地把整个数组设置为一个指定的值 其原型为 void *memset(void *s, int v, size_t n);这里s可以是数组名,也可以是指向某一内在空间的指针;v为要填充的值;n为要填充的字节数,通常为sizeof(s);使用memset时要...

c语言memset初始化结构体问题
调用memset函数需要#include <string.h> memset的第一个参数为一个指针,因此你需要memset(&a, 0, sizeof(a))这样去操作 memset的具体使用你可以通过在命令行输入:man memset来查看。全局变量和局部变量时都可以的。代码见下:include<stdio.h>#include <string.h>typedef struct ss{ int num;...

C语言的memset函数
memset 原型:extern void *memset(void *buffer, int c, int count);用法:#include <string.h> 功能:把buffer所指内存区域的前count个字节设置成字符c。说明:返回指向buffer的指针。举例:\/\/ memset.c include <syslib.h> include <string.h> main(){ char *s="Golden Global View";clrscr(...

c语言中字符串清空的函数是什么
在C语言中,要清空一个字符串,可以使用`memset`函数。`memset`函数可以将指定内存区域的每个字节设置为指定的值,可以用零值来清空字符串。下面是一个使用`memset`函数清空字符串的示例:```c#include <stdio.h>#include <string.h>int main() {char str[10] = "Hello"; \/\/ 假设字符串长度为...

在C语言中函数memset()是干什么用的?
memset 原型:extern void *memset(void *buffer, int c, int count);用法:#include <string.h> 功能:把buffer所指内存区域的前count个字节设置成字符c。说明:返回指向buffer的指针。举例:\/\/ memset.c include <syslib.h> include <string.h> main(){ char *s="Golden Global View";clrscr(...

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

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

相似回答