关于c++中的memset用法

2025-02-24 05:53:14
推荐回答(5个)
回答1:

1. void *memset(void *s,int c,size_t n)
总的作用:将已开辟内存空间 s 的首 n 个字节的值设为值 c。
2. memset() 函数常用于内存空间初始化。如:
char str[100];
memset(str, 0, 100); // 则 str 的每个元素都是 0

回答2:

在系统函数void *memset(void *s,int c,size_t n)中,第一个参数是指针,str是数组名,是一串数据的起始地址,类型相同,但str[9]是一个变量,作为该函数实参传递时,必须转换为地址,所以形式是&str[9]。

回答3:

字符串首地址=第一个字符的地址
所以 str = &str[0]

回答4:

字符串就是字符数组,既然是数组,那数组名就是数组首元素的地址,即
str = &str[0],str+1 = &str[1]; &str[9] = str + 9;

懂了吧

回答5:

海峡[9]代表的价值和取地址符&STR [9]海峡[9]的位置。
str是第一个元素的地址。

&str是整个数组的地址。
这两个值吗?是相等的。但含义是不一样的