c语言 malloc_C语言数据结构 | 第一讲
你凭什么不努力,又什么都想要。
数据结构是本学期开设的关于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语言数据结构 | 第一讲相关推荐
- Java数据结构第一讲-排序算法
常见数据结构和算法实现(排序/查找/数组/链表/栈/队列/树/递归/海量数据处理/图/位图/Java版数据结构) 数据结构和算法作为程序员的基本功,一定得稳扎稳打的学习,我们常见的框架底层就是各类数据 ...
- 大话西游之王道考研数据结构第一讲---线性表的顺序表示
大话西游之王道考研数据结构第一讲---线性表的顺序表示 写在前面的话 王道考研数据结构是一本非常好的书,本系列所有的内容是按照其书进行讲述的,所以您可以以那本书作为主要内容,这个做参考. 大学时候,在 ...
- C语言数据结构-第一讲-数据结构基础概念-电大
第一讲数据结构基础概念内容简介 数据是表征客观事物的可记录可识别的符号集合.数据是信息处理的核心基础. 本讲主要介绍了与数据结构有关的基本概念术语: l 数据 l 数据元素 l ...
- 数据结构-第一讲 基本概念-学习笔记(MOOC 浙江大学 陈越 何钦铭)
目录 第一讲 基本概念 1.1 什么是数据结构 1.1.1 关于数据组织 - 例:图书摆放 1.1.2 关于空间使用 - 例:PrintN函数实现 1.1.3 关于算法效率 - 例:计算多项式值 计算 ...
- c语言 malloc_C语言快速入门——动态内存分配
在前面一系列的字符串操作中,我们都是先定义一个固定大小的字符数组,然后根据所需,或拷贝.或连接.或格式化来为这个数组提供内容.固定大小的数组意味着在程序运行期间,数组所占用的内存是确定的(即划分了固定 ...
- [数据结构] 第一讲 基本概念
目录 一.概念 二.分类 一.概念 数据:是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符合集合. 数据元素:是组成数据的.有一定意义的基本单位,在计算机中通常 ...
- 大学 C语言程序设计第一讲,c语言程序设计1第一讲(第一章上).ppt
c语言程序设计1第一讲(第一章上).ppt 知识可以改变命运! 高级语言程序设计 主讲教师:贾彩燕 计算机与信息技术学院 计算机科学与技术系 cyjia@bjtu.edu.cn 计算机与人沟通 计算机 ...
- R语言编程 第一讲 变量与赋值
R语言编程 第一讲 变量与赋值 R语言的变量名 赋值符号 <- 与 = 的区别 赋值符号 <- 的更多细节 Copy-on-Modify与Modify-in-Place 函数调用 列表 数 ...
- c语言编程入门教程+网易,人话讲编程·C语言入门:第一讲,Hello World
//前言 "凡是能够说的,都可以说清楚;凡是不能说的,就应该保持沉默." 维特根斯坦的这一教诲,令人深思--教育乃至生活,人生中的许多问题,都坏在这一点上--本来能够说清楚的,结果 ...
最新文章
- python汽车票票系统_长途客运售票系统
- SpringBoot如何返回页面
- 俊鸟的数据输入校验专题(三) WPF 的五种输入校验概述
- linux 文件系统原理 书,发个关于文件系统的书《Linux文件系统剖析》
- mysql innodb 内存_MySQL的innodb和内存
- Linux做软raid10,51CTO博客-专业IT技术博客创作平台-技术成就梦想
- 一个在校的普通前端小姐姐的2021
- AI 崛起?科技公司却偷偷用人类做机器人的工作!
- 嬴彻首款L3自动驾驶样车发布:自研全栈系统,满足高速全场景工况
- HTTP缓存ETAG和Last-Modified
- 从鼠标点击位置发射射线检测是否点击到3D世界中的物体
- python百度ai文字识别、不精确、进行处理,python利用百度AI实现文字识别功能
- 小程序学习笔记01 - 图片识别
- Linux没有桌面怎么装微信,linux安装微信
- 不搞仿真,能不能搞好智能?
- 多目视觉三维重建研究综述
- 2073:【例2.16 】三角形面积
- MySQL数据库(一)——基本介绍
- 学习博客:【JavaScript】jQuery
- Tableau雷达图和凹凸图