C语言易错小贴士

简介: C语言易错小贴士

1.数组建立以及strlen:

1. char arr1[]="bit";
2. char arr2[]={'b','i','t'};
3. char arr3[]={'b','i','t','\0'};

1)其中arr1数组需要注意默认为4个字符,和arr3包含的内容是一致的;

2)arr2末尾没有\0,后面是数组越界的过程,会产生随机值,如果用strlen计算的话,计算的结果为随机值,因为无法确定\0的位置;

3)strlen函数返回值为size_t为无符号数;

2.getchar


1)getchar返回值为字符的ascll码值,返回为整数类型;


2)getchar如果读取失败或者结束,则返回EOF;这里还存在缓存区。之后细谈;


3.sizeof与数组


1)sizeof(arr)代表数组总共占得字节,sizeof(arr[1])表示一个元素的字节大小;


2)数组建立时,数组是随着下标的增加,由低地址到高地址前进建立的


&arr[0]=012ffe9c;
&arr[1]=012ffea0;
&arr[2]=012ffea4;

但在存储中,是由下到上是低地址到高地址,也就是说,数组的建立是从下向上建立的;

4.二维数组


arr[10][10];其中arr[1]表示arr[1][0]的地址;对应的arr[1]+1,我们就不难理解就表示arr[1][1]的地址;sizeof(arr[0])抽象来说就是这一行,sizeof(arr[0][0])这个表示一个,sizeof(arr)表示二维数组整个;


5.位操作符


1)&---按位与---0是老大;


2)|---按位或---1是老大;


3)按位异或---同0异1;


6.int*arr[10]和int(*arr[10])的区别


1)前者为指针数组,是元素为指针的数组,后者是数组指针,是指向arr[10]首元素地址的指针;

相关文章
|
4月前
|
存储 编译器 Linux
C语言易错知识点总结2
C语言易错知识点总结2
43 0
|
4月前
|
存储 编译器 C语言
C语言易错知识点总结1
C语言易错知识点总结1
36 0
|
存储 Unix 编译器
初始C语言(6)——详细讲解表达式求值以及其易错点
初始C语言(6)——详细讲解表达式求值以及其易错点
129 0
|
5天前
|
C语言 C++
C语言函数调用的易错点
在 C 语言中,函数调用时常见的易错点包括:参数类型不匹配、缺少或多余参数、返回值未使用、函数未声明、递归调用未终止、指针传递错误、使用未初始化的变量等。C 语言不支持函数重载,在 C++ 中使用时需注意区分。正确处理这些易错点可以提高代码的稳定性和可维护性。
|
4月前
|
C语言
C语言基础 - 字符串/字符数组最易错考点
该文探讨了C语言中'\0'字符对字符串和字符数组的重要性,以及`strlen`和`sizeof`的区别。'\0'作为字符串的结束标志,确保了正确打印和计算字符串长度。示例代码显示,未包含'\0'的字符数组打印时可能出现随机值。`strlen`计算字符串长度,不包含'\0',而`sizeof`返回变量或数组的总字节数,包括'\0'。文章还提醒注意转义字符在字符串中的影响,例如`\t`和`\62`。最后总结了字符串和字符数组处理时应注意的要点。
47 0
C语言基础 - 字符串/字符数组最易错考点
|
4月前
|
C语言
C语言(指针详解)重点笔记:指针易错点,都是精华
C语言(指针详解)重点笔记:指针易错点,都是精华
61 0
|
4月前
|
存储 编译器 C语言
C语言易错知识点总结3
C语言易错知识点总结3
40 1
|
存储 编译器 C语言
初始C语言——详细讲解操作符以及操作符的易错点
初始C语言——详细讲解操作符以及操作符的易错点
|
存储 算法 搜索推荐
初始C语言——详细地讲解数组的内容以及易错点
初始C语言——详细地讲解数组的内容以及易错点
117 0
|
缓存 Linux C语言
【初始C语言2】详细认识分支语句和循环语句以及他们的易错点,应用(猜大小游戏)
【初始C语言2】详细认识分支语句和循环语句以及他们的易错点,应用(猜大小游戏)
129 0