【发布时间】:2012-10-30 21:34:58
【问题描述】:
函数memset()有什么用处?
定义:将 ptr 指向的内存块的前 num 个字节设置为 指定值(解释为无符号字符)。
这是否意味着它对内存地址中的值进行硬编码?
memset(&serv_addr,0,sizeof(serv_addr) 是我试图理解的示例。
有人可以用非常简单的方式解释一下吗?
【问题讨论】:
-
多用于初始化结构体和数组。
-
所以就像说数组[值]?为什么不这样做呢,那么使用 memset 有什么意义呢?
-
只有在编译时知道
value的值(这是C/C++),你才能像array[value]那样做。 -
因为您可以同时设置结构/数组上的所有字节。您可以使用 for 循环来完成,但 memset 的性能会好很多。