k***t 发帖数: 57 | 1 有个全局数据 最开始定义的大小要比实际用到的大些
第一次循环对数组赋值
第二次循环想对数组重新赋值 长度仍然比定义的小 但会跟第一次循环时的长度不一样
这种情况请问如何重置数组啊?谢谢了 |
c****p 发帖数: 6474 | 2 先清零再赋值就好了。
要么确保第二次赋值之后的访问只发生在第二次赋值的范围内即可。
样
【在 k***t 的大作中提到】 : 有个全局数据 最开始定义的大小要比实际用到的大些 : 第一次循环对数组赋值 : 第二次循环想对数组重新赋值 长度仍然比定义的小 但会跟第一次循环时的长度不一样 : 这种情况请问如何重置数组啊?谢谢了
|
k***t 发帖数: 57 | 3 我现在是对第二次赋值做个计数 然后正向你说的 保证只用那范围内
但请教一下数组清零有什么好办法么?谢谢
【在 c****p 的大作中提到】 : 先清零再赋值就好了。 : 要么确保第二次赋值之后的访问只发生在第二次赋值的范围内即可。 : : 样
|
c****p 发帖数: 6474 | 4 memset?
【在 k***t 的大作中提到】 : 我现在是对第二次赋值做个计数 然后正向你说的 保证只用那范围内 : 但请教一下数组清零有什么好办法么?谢谢
|
k***t 发帖数: 57 | 5 谢谢了
我忘了这个命令了
【在 c****p 的大作中提到】 : memset?
|
a***y 发帖数: 2803 | 6 memset是对char的数组赋值,如果是int 数组,用这个方法只能用于清零.
既然数组长度变化,可以用malloc分配动态空间,size也可变.
【在 k***t 的大作中提到】 : 谢谢了 : 我忘了这个命令了
|
t****t 发帖数: 6806 | 7 why not for int array?
【在 a***y 的大作中提到】 : memset是对char的数组赋值,如果是int 数组,用这个方法只能用于清零. : 既然数组长度变化,可以用malloc分配动态空间,size也可变.
|
a***y 发帖数: 2803 | 8 int占4个字节,char占1个字节.memset赋值是按字节来的,所以适合于char.
对int array清零赋值为0可以,但是如果赋值为1,那就不对了.
【在 t****t 的大作中提到】 : why not for int array?
|
t****t 发帖数: 6806 | 9 he did ask clear to 0, didn't he?
【在 a***y 的大作中提到】 : int占4个字节,char占1个字节.memset赋值是按字节来的,所以适合于char. : 对int array清零赋值为0可以,但是如果赋值为1,那就不对了.
|