我现在正在研究memset函数,但所有示例都与char数组有关,如下所示:
char a[100];
memset(a, 0, 100);
Run Code Online (Sandbox Code Playgroud)
它会将此char数组中的每个元素设置为0.
我想知道memset是否可以应用于int数组或float数组?
Jas*_*son 44
是的,它可以适用于任何内存缓冲区,但你必须输入正确的内存缓冲区大小...... memset对待任何内存缓冲区的字节序列,所以无论是char,int,float,double,等,其实并不重要.请记住,它不会将多字节类型设置为特定的非零值...例如:
int a[100];
memset(a, 1, sizeof(a));
Run Code Online (Sandbox Code Playgroud)
将未设置的各构件a为值1 ...而是将设置的每一个字节中由所占据的存储器缓冲器a到1,这意味着每四个字节int将被设置为的值0x01010101,这是不一样的0x00000001
| 归档时间: |
|
| 查看次数: |
26611 次 |
| 最近记录: |