曾经看到过一个同事写的代码,将一个数组初始化,将它全部初始化为一个指定的值,他采用的是:
1 char a[10]; 2 for(i=0; i<10; i++) 3 { 4 a[i] = 2; 5 }
我的第一想法是何必写这么多代码呢?一个memset不就完事了?并且还自以为是的认为这样做不如memset效率。现在想起觉得自己是多么的傻逼,其实memset就是通过循环实现的。并且memset有其不适用的地方,比如如果数组不是char型呢?显然对于非char型的数组,memset为非0值时就不能适用了。
所以看到自己觉得有异议的代码不要急着按照自己的老思路来否定别人。
时间: 2024-10-11 21:31:16