c语言细节(一)
来源:互联网 发布:今年最流行网络歌曲 编辑:程序博客网 时间:2024/04/28 22:01
1.用单引号括起来的字符代表一个整数,用双引号括起来的字符串代表一个指针,并且字符串的末尾会有一个额外的‘\0’。
比如:char *p1 = '/'; //这是不对的, '/'并不是一个指针,而是代表一个常数。
char *p2 = "hello";//正确,p2指向hello这个字符串中第一个字符,并且字符串后边隐含了一个'\0'.
2.数组越界,并不一定会导致程序崩溃,还可能是你所想不到的------死循环。
比如:
int main(){ int i=0; int arr[10]; for(i = 0; i<=10; i++) { printf("hello\n"); arr[i] = 0; }return 0;}该程序就是一个死循环。当我们定义arr[10]时,内存中只会给它分配10个内存空间,下标为0到9,变量i的空间实际是在数组之后的位置。当i变到10时,我们所要赋值的arr[10]实际是i,即循环中i为10时,i的值又被变为0,一直循环。
3.易错点:浮点数与零值的比较。(以下的a是float型)
if(a==0) printf(".....");
if(a == 0.0) ......以上两段代码均不对。
if(a >-exp && a < exp)
......
exp为允许的误差,一般用define宏定义给出。
4.数组长度求解。
数组长度的求解并不能用strlen函数。
strlen 函数用于求字符串长度或字符数组(有‘\0’)长度。
而要求整型数组或其他类型数组长度时,用 sizeof(数组名)/ sizeof(数组中的某一元素)。
2 0
- c语言细节(一)
- C语言的细节(一)
- C\C++语言基础细节(一)
- C语言中可能被你忽视的小细节(一)
- C语言基本细节(1)
- c 语言细节
- c语言细节
- C语言细节问题
- C语言细节
- C语言细节
- C 语言细节
- C语言细节
- C语言细节
- C语言的细节!
- c语言细节知识点
- C语言编程细节
- C语言细节考察
- C语言一些细节
- pb中数据窗口函数小结(转)
- enable_if
- 剑指offer面试题之和为S的两个数字
- LCS 最大公共序列算法
- Hadoop 基础架构 详解
- c语言细节(一)
- Android官方开发文档Training系列课程中文版:构建第一款安卓应用之环境配置
- 对ajax的理解
- ES6 Generator函数
- Android学习之数据库DBFlow的使用
- nodepad++搭建各种开发环境
- Disruptor简介
- intent组件间的桥梁
- centos的常用基本命令