那些简单却容易忽视的问题(不定期的更新修改)
2012-02-21 15:21
253 查看
@@这个问题是我今天绕了很多弯路的问题,于是想在平时收集一些不经意却容易出错的问题
1.关于初始化 指针是一个危险的东西,一定要初始化
以下这种情况,则不需要。
char *pstr; /* 一个字符串 */
pstr = ( char* ) malloc( 50 );
if ( pstr == NULL ) exit(0);
strcpy( pstr, "Hello Wrold" );
但如果是下面一种情况,最好进行内存初始化。(指针是一个危险的东西,一定要初始化)
char **pstr; /* 一个字符串数组 */
pstr = ( char** ) malloc( 50 );
if ( pstr == NULL ) exit(0);
/*初始化, 让数组中的指针都指向NULL */
memset( pstr, 0, 50*sizeof(char*) );
2.当if 的判断语句华丽丽的碰上了非!的时候
别拍我,我确实弄错了
nCount = IContact_DataEngine_GetItemCount(pThis->m_pDataEngine);
if (nCount&&bAddAll) { nRecCount++; } if (bMyFavorite) { nRecCount++; } if (!nCount) { bEmpty = TRUE; }
@@@问题@@@ if(!nCount)里到底走没?
@@@整理@@@ !-1=0, 0代表假,可是 非0代表真 if(!-1) 是假,if(!0)是真,if(-1)是真
联系人里 nCount == 0 的的话, !nCount 就是真咯 于是if(!nCount ) 就走咯
相关文章推荐
- 医疗IT中容易被忽视的那些医疗成像问题
- 医疗IT中容易被忽视的那些医疗成像问题
- iOS那些简单的动画(不定期更新)
- 修改js之后前台页面不能及时更新的问题
- Linux下容易被忽视的那些命令用法
- 容易忽视的问题之:surfaceview绘制兼容性(android 4.3 libskia.so libui.so crash)
- 8位单片机中一个容易被忽视的溢出问题
- node.js项目开发问题集锦(不定期更新,随时把开发过程中遇到的问题加上)
- hive的数据修改更新问题解决
- 不定期更新dede修改教程之"调用论坛帖子"
- 一个容易忽视的Oracle安全问题
- 简单而容易忽略的类型转换问题
- VS2017 问题集锦[不定期更新补充]
- Linq to Sql 更新数据时容易忽略的问题
- 学习Drupal一个容易被忽视的问题
- QT Creator 使用 design 修改 ui界面编译后界面未更新问题的解决 From EricQu
- 问题:oracle 两个表之间的修改;结果:ORACLE 两个表之间更新的实现
- 有关于android模拟器的问题(不定期更新)
- android stuido常见问题查询网址(此贴不定期更新)
- 为你解析那些容易被大家忽视的电脑小细节