C/C++知识点之C语言易错点
小标 2018-10-10 来源 : 阅读 996 评论 0

摘要:本文主要向大家介绍C/C++知识点之C语言易错点了,通过具体的内容向大家展示,希望对大家学习C/C++知识点有所帮助。

本文主要向大家介绍C/C++知识点之C语言易错点了,通过具体的内容向大家展示,希望对大家学习C/C++知识点有所帮助。


C语言的缺点
由于C语言是面向过程的,因此它的数据封装性差、安全性低,这就是C语言和其他面向对象语言的区别之一。面向对象语言的特性之一就是数据的封装性
语法限制不严格,对变量的类型约束不严格,对数组下标越界不作检查等
C语言的优点
对比汇编语言,C语言可读性好,易于调试、修改和移植,代码质量与汇编语言相当。

 
一、代码分析
1.C程序的源文件拓展名为.c
2.#include 是C语言的预处理指令之一,所谓预处理,就是在编译之前做的处理,预处理指令一般以 # 开头
3.一个C程序中一定会有一个main函数,也只能有一个main函数。main函数是整个C程序的入口。
二、开发和运行C程序的步骤
 

 
1.在编译前先执行#include指令,拷贝stdio.h的内容到源程序中
2.编译源程序,生成目标文件.obj
3.链接C语言函数库,生成可执行文件exec
4.运行可执行文件,在屏幕上输出"Hello, World!"
三、函数
 
1.在大型的C程序中,为了分模块进行开发,一般会将函数的声明和定义(即实现)分别放在2个文件中,函数声明放在.h头文件中,函数定义放在.c源文件中
 
四、print函数
 
 

 
 五、不同编译器环境下基本数据类型的存储长度

 
* sizeof可以用来计算一个变量或者一个常量、一种数据类型所占的内存字节数。
 
四、一维数组
 
 
* 定义的形式为:类型  数组名[元素个数]
 

int a[5];

 
 
 
* []只能放在数组名的后面,下面的都是错误写法:
 

int[5] a; // 错误
int[] b; // 错误


 
 
 
* []里面的个数必须是一个固定值,可以是常量(比如6、8)、常量表达式(比如3+4、5*7)。绝对不能使用变量或者变量表达式来表示元素个数,大多数情况下不要省略元素个数(当数组作为函数的形参和数组初始化时除外)
 
下面的都是正确写法:
 

int  a[5];   // 整型常量
int  b[‘A‘];  // 字符常量,其实就是65
int  c[3*4];  // 整型常量表达式

 
下面的都是错误写法:
 

int a[]; // 没有指定元素个数,错误

int i = 9;
int a[i]; // 用变量做元素个数,错误

 
 
五.二维数组的初始化
* 按行进行初始化

int a[2][3] = { {2, 2, 3}, {3, 4, 5} };

 
* 按存储顺序进行初始化(先存放第1行,再存放第2行)

int a[2][3] = {2, 2, 3, 3, 4, 5};

 
* 对部分元素进行初始化

int a[2][3] = { {2}, {3, 4} };
int b[3][3] = { { }, { , , 2}, {1, 2, 3}};

 
* 如果只初始化了部分元素,可以省略行数,但是不可以省略列数

int a[][3] = {1, 2, 3, 4, 5, 6};
int a[][3] = {{1, 2, 3}, {3, 5}, {}};

有些人可能想不明白,为什么可以省略行数,但不可以省略列数。也有人可能会问,可不可以只指定行数,但是省略列数?
其实这个问题很简单,如果我们这样写:

int a[2][] = {1, 2, 3, 4, 5, 6}; // 错误写法

大家都知道,二维数组会先存放第1行的元素,由于不确定列数,也就是不确定第1行要存放多少个元素,所以这里会产生很多种情况,可能1、2是属于第1行的,也可能1、2、3、4是第一行的,甚至1、2、3、4、5、6全部都是属于第1行的

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标编程语言C/C+频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 1 不喜欢 | 0
看完这篇文章有何感觉?已经有1人表态,100%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程