数据结构论坛

首页 » 分类 » 问答 » C语言数据结构第一讲
TUhjnbcbe - 2020/12/2 2:17:00

你凭什么不努力,又什么都想要。

数据结构是本学期开设的关于C语言升级进化课程。想必有上过这门课的同学都有体会到这门课的难度,如果你也是在这门课上受挫,那么接下来可以和我一起好好捡起C语言的知识,迎难而上,共克时艰。

首先,先弄清楚数据结构的肉体,基本语言吧。数据结构更像是一个框架,骨架,那么要形成这样一个骨架,首先是有一个组织思路,什么地方应该放什么骨头,一个骨头里应该是由什么骨质细胞组成。这样其实很多人数据结构弄不清,首先对语言就不是很有感觉,其次思路不清晰,所有会感觉很难。

所以,我先从理清语言入手。数据结构的语言分为C语言和C++语言。这两种语言还是有一些差别的。

先讲讲我们常会遇到的一些差别:

①作用域

C语言中作用域只有两个:局部,全局。C++中则是有:局部作用域,类作用域,名字空间作用域三种。

所谓名字空间就是namespace,我们定义一个名字空间就是定义一个新作用域。访问时需要以如下方式访问(以std为例)

std::cin""std::endl;

例如我们有一个名字空间叫Myname,其中有一个变量叫做data。如果我们希望在其他地方使用data的话,需要在文件头声明:usingMyname::data;这样一来data就使用的是Myname中的值了。可是这样每个符号我们都得声明岂不是累死?

我们只要usingnamespaceMyname;就可以将其中所有符号导入了。

这也就是我们经常看到的usingnamespacestd;

我们来看一个最简单的代码,也就是C语言时候的第一个代码

输出:helloworld!

C++的输出也有自己的语言风格~如下图:

看看关键字(keyword)是整个语言范围内预先保留的标识符。每个C++关键字都有特殊的含义。不能声明与关键字同名的标识符。

malloc()和free()是C语言中动态申请内存和释放内存的标准库中的函数。而new和delete是C++运算符、关键字。new和delete底层其实还是调用了malloc和free。

malloc和free是函数,new和delete是运算符

malloc在分配内存前需要大小,new不需要。

例如:int*p1=(int*)malloc(sizeof(int));

int*p2=newint;//int*p3=newint(10);

malloc需要指定大小,还需要类型转换。new时不需要指定大小因为它可以从给出的类型判断,并且还可以同时赋初始值。

malloc不安全,需要手动类型转换,new不需要类型转换。

free只释放空间,delete先调用析构函数再释放空间(如果需要)

这些区别稍稍有些抽象了,但是区别还是有挺多的,今后学习中慢慢消化。

这些关键字在以后学习中慢慢熟悉,有一些也可能一直不会用到。

更多了解c++的资料可以搜索百度百科——C++

学习c++语言的资源推荐程序媛

希望你我一起努力进步

今天学习就到这里啦,继续加油~

今日练习

这是浩子

一位热爱当下生活,但又不想满足于现状,又懒又笨又矛盾,想要创造一个属于自己的快乐星球的男孩子。

学校:杭州师范大学

专业:地理信息科学

年级:级

hobby:旅游,摄影,狗狗,健身,音乐,美食,喜欢杰伦和Taylor,是木瓜牛奶和芝士年糕的忠实粉丝。

Motto:不喜欢被别人定义,就需要一直去尝试突破。

往期推荐

1.第九周︱你是不是在偷偷看笑话

2.第八周︱我们身在井隅,却心向璀璨

3.第七周︱不要说话

END预览时标签不可点收录于话题#个上一篇下一篇
1
查看完整版本: C语言数据结构第一讲