memset()函数中的坑
Posted laizhenghong2012
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了memset()函数中的坑相关的知识,希望对你有一定的参考价值。
一 写在开头
1.1 本节内容
内存填充函数memset()中的坑。
二 函数原型
1 /* 来自man memset */
2 #include <string.h>
3 void * memset(void * s, int c, size_t n);
功能描述:memset()函数用常量c的值填充由指针s所指向的内存地址空间的前n个字节的内存空间。
DESCRIPTION : The memset() function fills the first n bytes of the memory area pointed to by s with the constant byte c.
参数:
void * s - 指向要被填充的内存空间的首地址
int c - 一个常量
size_t n - 要被填充的字节数
返回值:
memset()函数是有返回值的,从函数原型也可以看出来。memset()函数返回一个指向内存空间s的指针。
RETURN VALUE : The memset() function returns a pointer to the memory area s.
三 填坑运动
3.1 第一个坑
先举一个memset()正确的应用场景。下面的代码能够很好地运行,完全能够达到目的。
1 #include <stdio.h>
2 #include <string.h>
3
4 int main(int argc, char *argv[])
5 {
6 char Queen[10];
7
8 memset(Queen, ‘G‘, sizeof(Queen));
9
10 return 0;
11 }
调用memset()函数之前:
(gdb) p Queen
$1 = "360[email protected]