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

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

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

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

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

①作用域

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

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

std::cin<< "123" <<:endl>

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

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

这也就是我们经常看到的using namespace std;

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

输出:hello world!

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 = new int;     //int *p3 = new int(10);

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

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

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

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

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

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

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

希望你我一起努力进步

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

今日练习

这是浩子

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

学校:杭州师范大学

专业:地理信息科学

年级:2019级

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

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

往期推荐

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

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

3. 第七周︱不要说话

END

c语言 malloc_C语言数据结构 | 第一讲相关推荐

  1. Java数据结构第一讲-排序算法

    常见数据结构和算法实现(排序/查找/数组/链表/栈/队列/树/递归/海量数据处理/图/位图/Java版数据结构) 数据结构和算法作为程序员的基本功,一定得稳扎稳打的学习,我们常见的框架底层就是各类数据 ...

  2. 大话西游之王道考研数据结构第一讲---线性表的顺序表示

    大话西游之王道考研数据结构第一讲---线性表的顺序表示 写在前面的话 王道考研数据结构是一本非常好的书,本系列所有的内容是按照其书进行讲述的,所以您可以以那本书作为主要内容,这个做参考. 大学时候,在 ...

  3. C语言数据结构-第一讲-数据结构基础概念-电大

    第一讲数据结构基础概念内容简介 数据是表征客观事物的可记录可识别的符号集合.数据是信息处理的核心基础. 本讲主要介绍了与数据结构有关的基本概念术语: l       数据 l       数据元素 l ...

  4. 数据结构-第一讲 基本概念-学习笔记(MOOC 浙江大学 陈越 何钦铭)

    目录 第一讲 基本概念 1.1 什么是数据结构 1.1.1 关于数据组织 - 例:图书摆放 1.1.2 关于空间使用 - 例:PrintN函数实现 1.1.3 关于算法效率 - 例:计算多项式值 计算 ...

  5. c语言 malloc_C语言快速入门——动态内存分配

    在前面一系列的字符串操作中,我们都是先定义一个固定大小的字符数组,然后根据所需,或拷贝.或连接.或格式化来为这个数组提供内容.固定大小的数组意味着在程序运行期间,数组所占用的内存是确定的(即划分了固定 ...

  6. [数据结构] 第一讲 基本概念

    目录 一.概念 二.分类 一.概念 数据:是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符合集合. 数据元素:是组成数据的.有一定意义的基本单位,在计算机中通常 ...

  7. 大学 C语言程序设计第一讲,c语言程序设计1第一讲(第一章上).ppt

    c语言程序设计1第一讲(第一章上).ppt 知识可以改变命运! 高级语言程序设计 主讲教师:贾彩燕 计算机与信息技术学院 计算机科学与技术系 cyjia@bjtu.edu.cn 计算机与人沟通 计算机 ...

  8. R语言编程 第一讲 变量与赋值

    R语言编程 第一讲 变量与赋值 R语言的变量名 赋值符号 <- 与 = 的区别 赋值符号 <- 的更多细节 Copy-on-Modify与Modify-in-Place 函数调用 列表 数 ...

  9. c语言编程入门教程+网易,人话讲编程·C语言入门:第一讲,Hello World

    //前言 "凡是能够说的,都可以说清楚;凡是不能说的,就应该保持沉默." 维特根斯坦的这一教诲,令人深思--教育乃至生活,人生中的许多问题,都坏在这一点上--本来能够说清楚的,结果 ...

最新文章

  1. python汽车票票系统_长途客运售票系统
  2. SpringBoot如何返回页面
  3. 俊鸟的数据输入校验专题(三) WPF 的五种输入校验概述
  4. linux 文件系统原理 书,发个关于文件系统的书《Linux文件系统剖析》
  5. mysql innodb 内存_MySQL的innodb和内存
  6. Linux做软raid10,51CTO博客-专业IT技术博客创作平台-技术成就梦想
  7. 一个在校的普通前端小姐姐的2021
  8. AI 崛起?科技公司却偷偷用人类做机器人的工作!
  9. 嬴彻首款L3自动驾驶样车发布:自研全栈系统,满足高速全场景工况
  10. HTTP缓存ETAG和Last-Modified
  11. 从鼠标点击位置发射射线检测是否点击到3D世界中的物体
  12. python百度ai文字识别、不精确、进行处理,python利用百度AI实现文字识别功能
  13. 小程序学习笔记01 - 图片识别
  14. Linux没有桌面怎么装微信,linux安装微信
  15. 不搞仿真,能不能搞好智能?
  16. 多目视觉三维重建研究综述
  17. 2073:【例2.16 】三角形面积
  18. MySQL数据库(一)——基本介绍
  19. 学习博客:【JavaScript】jQuery
  20. Tableau雷达图和凹凸图

热门文章

  1. 【Linux磁盘优化管理--RAID和LVM】
  2. 文档在线编辑组件的发展回顾与开发集成选择问题
  3. 【Java学习笔记之二十六】深入理解Java匿名内部类
  4. c# key event
  5. C#使用StreamWriter类写入文件文件
  6. 草根站长的创业之路(真实纪实)
  7. 微软私有云分享(R2)21 BMC提升B格
  8. 完全开源的杀病毒软件ClamAV
  9. Windows8测试版使用感受
  10. 华为机试HJ105:记负均正II