0
比方说,我初始化这样的数组:ç重新初始化数组
array[] = {1, 42, 32, 16, 89};
如果:
char array[] = {0, 0, 0, 0, 0};
然后,我通过这样的它看起来像这样结尾写一些数据,它修改阵列我想重新初始化相同的数组回到零,所以我可以再次使用同一个数组,这样做是否正确:
memset(array, 0, 5);
谢谢
比方说,我初始化这样的数组:ç重新初始化数组
array[] = {1, 42, 32, 16, 89};
如果:
char array[] = {0, 0, 0, 0, 0};
然后,我通过这样的它看起来像这样结尾写一些数据,它修改阵列我想重新初始化相同的数组回到零,所以我可以再次使用同一个数组,这样做是否正确:
memset(array, 0, 5);
谢谢
是的,但memset(array, 0, sizeof(array));
会更好,如果您将大小更改为例如,您不需要跟踪数组的大小。 6日后。
[...]这样做是否正确?
是。
第三个参数必须是'sizeof(array)'。这就是当sizeof array [0]大于1的情况(例如,如果有'int array []')。 'memset'获取字节数。 – nnn
@nnn你说的是对的,马虎。 –
只需添加:memset除了'char'数组之外还要小心。如果设置为“0”以外,则更多。这可能因为'memset'在'char []'上工作,并且没有关于数组实际类型的概念。 – Olaf