C语言学习中容易模糊的一些概念

1、什么叫分配内存

操作系统把某一块内存空间的使用权利分配给该程序

2、释放内存

操作系统把分配给该程序的内存空间的使用权利收回,该程序就不能再使用这块内存空间

注:释放内存空间并不是把这块内存的数据清空

3、变量为什么必须初始化

不初始化,则变量的初始值通常是垃圾值

注:

全局变量  静态变量初始值为0

局部变量,自动变量初始值随机分配

详见:http://blog.csdn.net/deqingguo/article/details/8001557

4、函数的优点

①避免重复性操作

②有利于程序的模块化

5、什么是指针、什么是地址、什么是指针变量,三者之间有什么关系

①指针:内存地址(内存单元的编号)

②地址:内存地址(内存单元的编号)

注:指针和地址是一个概念

③指针变量是存放内存单元编号的变量

注:指针变量和指针是完全不同的两个概念,只不过人们通常把指针变量简称为指针

6、静态变量和动态变量的异同

①相同点:都需要分配内存

②不同点:静态变量是由系统自动分类,自动释放,程序员无法在程序运行过程中手动分配,也无法在程序运行中手动释放

静态变量是在栈中分配的(动态变量是在堆中分配的),函数终止后,静态变量的储存空间才会被系统自动释放

时间: 2024-10-31 14:47:21

C语言学习中容易模糊的一些概念的相关文章

R语言学习中的小bug:R中矩阵相乘错误于A %*% B: 需要数值/复数矩阵/矢量参数

遇到了小bug: R中矩阵相乘错误于A %*% B: 需要数值/复数矩阵/矢量参数 看到网上别人的做法,发现了用class(A)和class(B)之后才发现,是因为读入的时候数据的类型不对,A.B的类型并不是matrix,才导致了这个问题. 用as.matrix来变型一下,就OK了. R语言学习中的小bug:R中矩阵相乘错误于A %*% B: 需要数值/复数矩阵/矢量参数,布布扣,bubuko.com

JavaScript语言学习中的注意事项

javascript: 基于浏览器 基于对象 事件驱动 脚本语言 由: javascript: ECMAscript(ES) DOM文档对象模型 BOM浏览器对象模型,三部分组成 使用js的三种方式 1.HTML标签中内嵌js:<button ondblclick="javascript:alert('ssas')">点我呀!!!</button> 不建议使用 2.在HTML页面中直接使用: <script type="text/javascri

黑马程序员——C语言基础---C语言学习中容易疏漏的地方总结(下)

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 知识点24:静态变量.全局变量声明但是没有初始化是有初值的(int0 char \0) 但是局部变量声明没有初始化是没有初值的 知识点25:结构体整体初始化必须在声明时进行 [cpp] view plaincopy struct Person p1 = {"zhangsan", 18,'F'};//这是正确的 //下面的时错误的 [cpp] view plaincopy struct

Java语言学习总结 扩展篇 包装类的概念及其使用

包装类 包装类的概述 Java提供了两个类型系统,基本类型与引用类型,使用基本类型在于效率,然而很多情况,会创建对象使用,因为对象可以做更多的功能,如果想要我们的基本类型像对象一样操作,就可以使用基本类型对应的包装类,如下: 包装类:基本数据类型,使用起来非常方便,但是没有对应的方法来操作这些基本类型的数据可以使用一个类把基本类型的数据装起来,在类中定义一些方法,这 个类叫做包装类我们可以使用类中的方法来操作这些基本类型的数据 装箱和拆箱 基本类型与对应的包装类对象之间,来回转换的过程称为”装箱

【转】朱兆祺教你如何攻破C语言学习、笔试与机试的难点(连载)

原文网址:http://bbs.elecfans.com/jishu_354666_1_1.html 再过1个月又是一年应届毕业生应聘的高峰期了,为了方便应届毕业生应聘,笔者将大学四年C语言知识及去年本人C语言笔试难点进行梳理,希望能对今年应届毕业生的应聘有所帮助. 2013年10月18日更新-->    攻破C语言这个帖子更新到这里,我不仅仅是为了补充大学学生遗漏的知识,我更重要的是希望通过我的经验,你们实际项目中的C语言写得漂亮,写出属于你的风格.“朱兆祺STM32手记”(http://bb

深度学习中得数学,高效计算基础与线性分类器

深度学习说到底就是要调节网络中得权重,使网络的分类结果更接近于训练值.这个重复迭代的过程又是一个线性回归的问题.在这种可能会用到高数,线性代数,概率论中的知识. 一.数学基础提一提. 1.高数中得知识. 高数中最重要的就是微积分了,那在深度学习中出现最多的一个概念就是梯度.什么是梯度呢?要说导数,学过高数的肯定都知道.其实梯度就是当把标量x变成向量X时,对X求导就是梯度.那为什么要用梯度呢?因为梯度等于0在凸函数中往往代表着一个极小值点.我们要求得就是损失函数的极小值,这正是我们需要的.梯度是指

【C语言学习】C语言中的函数

代码中,函数是为了更好的实现模块化的程序设计.那么函数的本质是什么?函数中定义的变量(全局变量.局部变量.静态变量等)又是怎样存储的?为什么全局变量与局部变量的作用域和生命期不相同?只有更加深入的了解函数,才能解答这些问题! ★函数的本质 函数的本质是一段可执行的机器指令代码,函数名的本质是一个标号,表示函数代码的入口.该标号的值等于内存中存储函数代码的内存空间的首地址. ★变量 ●全局变量 全局变量也就是外部变量,定义在函数的外部.因此它不属于任何一个函数,只属于所在的源文件. ▲初始化 对于

Emgu-WPF学习使用-中值模糊

原文:Emgu-WPF学习使用-中值模糊 实现效果: 实现途径: 前提:Image File-> System.Drawing.Bitmap->Image<Bgr, byte> string sFile = GlobalVar.DATAS_PATH + "Samples/Test1.png"; BitmapImage oOriginBitSrc = new BitmapImage(new Uri(sFile)); System.Drawing.Image oIm

C语言/C++编程新手入门基础学习中链接类型

C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构.C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制).创一个小群,供大家学习交流聊天如果有对学C++方面有什么疑惑问题的,或者有什么想说的想聊的大家可以一起交流学习一起进步呀.也希望大家对学C++能够持之以恒C++爱好群,如果你想要学好C++最好加入一个组织,这样大家学习的话就比较方便,还能够共同交流和分享资料,给你推荐一个学习的组