我们平时定义变量最终都会保存在内存里,内存最小存储单位称为内存单元。通常,一个字节称为一个内存单元。而我们定义变量就保存在这些内存单元里,为了正确地访问这些数据,必须为每个内存单元...
原创 2021-06-02 11:16:22
193阅读
1,C语言概述 C语言是70年代问世,它实际先有语言后有标准。1978年贝尔实验室B.W.Kernighan和D.M.Ritchit合著“The C Promgaming language”一本书,这本书就作为C基本标准,以后ANSI出了一ANSI C标准于1983年公布。C正因为没有标准,因此依赖于编译器实现,不同编译器实际上就是不同C标准。现在最新标准是C0X标准。任何一个C语言都包
原创 2011-09-30 21:08:55
947阅读
6.指针 指针实际上同前面所述基本数据类型是一样。它不是构造型数据类型,在前面章节里将指针单独提出来作为一个数据类型,实际上,如果我们这样想,在内存中存储一些数据,这些数据从二进制来说都是01,是没有任何类型之分,只有当你结合现实一定意义之后才有相应数据类型。从汇编角度,我们知道内存是按线性顺序进行编址,计算机数据总线或者地址总线根据线性地址确定内存空间。这是确定,唯一。也
原创 2011-10-08 22:00:07
516阅读
前面我们讲指针都指向基本数据类型,除了数组之外,还有一个比较复杂数据类型就是字符串,前面我们学到字符串用双引号表示,在内存中存储是以”\0”作为缺省结束标志。实际上字符串完全可以用数组来表示。因为使用内存都是按顺序线性存储。并且空间在申明时就已经确定。如下图所示是两种字符串变量声明方式。 在内存中如下存储,注意最后一个位置是”\0”,所有string[]数组长度是14,不是1
原创 2011-10-11 19:59:25
877阅读
前面的讨论中,我们已经明确了,一个函数参数可以是指针,对一个函数,缺省编译器给它分配了一个指针,可以用一个指针变量指向这个函数指针。同样函数返回类型也可是指针类型。所以通常意义指针函数和函数指针是指两个完全不同东西。所谓指针函数是指返回类型是指针变量函数。而函数指针则是这个函数在编译器分配下地址。与此类似的概念是指针数组和指向指针指针概念。指针数组指的是数组元素类型是指针。
原创 2011-10-12 22:01:02
471阅读
前面讲了一些函数基本概念,函数不能嵌套定义,但可以进行嵌套调用。并且,还可以进行递归调用,这是因为函数在内存中是存储在栈上,本身栈就可以进行递归操作。递归效率在所有实现中是最慢,但是给程序带来是非常简洁,可读性较强,如果在不严重影响性能情况下也是可以适当使用递归函数。如下图所示,主函数调用a函数,a函数又调用b函数,当b函数执行完返回到a函数,再由a函数返回到主函数main中,整个应
原创 2011-10-07 22:34:09
501阅读
1点赞
前面我们都是讲简单数据类型,定义一个类型变量,这个变量不论是数组还是指针,还是基本数据类型,它只有一种类型,是INT就是INT,如果一个数据结构中需要多种类型,如描述一个学生属性,如学号用INT,姓名用CHAR数组,性别是CHAR,年龄是int,成绩是double,地址是char数组。如下表示: 结构体就是将不同数据类型组合成一个有机整体,以便于引用。声明一个结构体与定义一个结构变量是
原创 2011-10-17 21:27:01
517阅读
9.动态内存管理 前面我们讲述都是C语言中参与表达式一些基本元素,这些基本元素都有一个共同特点,就是在声明时,C语言编译器就将它内存地址固定好,比喻说一个int a变量,C语言编译器在生成汇编时候就将其地址给出。包括指针变量、数组、结构体,也是一样。这些变量在内存中存在,不会产生内存错误。但接下来,我们会讲述另一种元素,这也是C语言组成部分,它适用直接操作内存部分,通过这些直接操作内存
原创 2011-10-19 20:49:52
485阅读
13文件操作 计算机领域中文件,这个概念是复杂,但是也简单,同现实世界中文件不一样,但从理论意义上应该差不多。计算机中文件就是一些相关数据有序集合。这个数据集合有一个名称叫文件名。而以文件及文件系统管理数据都是都以磁盘、光盘、移动硬盘等介质保存,只有在使用时,才调入内存参与CPU计算,因此文件作为数据集合体,其保存数据区别于内存驻留数据不同,就是它是常时间保存。通常操作系统
原创 2011-10-21 21:46:39
489阅读
我们学习C语言时会在变量作用域中学到,一个变量可能是局部变量,也可能是全局变量,还有可能是静态变量,及寄存器变量。当然这么变量不同全是因为变量存储位置不同,我们在学习C++第一章节时也提到C++语言在生成汇编时,C++编译器会按排不同数据和代码在不同存储区域。其中这里我们将要学习静态成员和静态函数,它们都是存储在全局区或者叫静态区,是由不同对象共同拥有一份拷贝。 【1】静态成员变量
原创 2011-11-08 22:01:44
431阅读
上一篇将C++基本概念解决了,接下来讲述两个重要概念,就是C++对象有属性和函数,那么如何访问呢?通常比喻CStudent 有一个name属性,那么student1对象可以用student1.name来访问这个属性。那么如果在函数中怎么访问呢?特别是如果函数中有与属性同名局部变量或者形参,那么怎么解决这个问题呢?这就用到this指针,this 指针不是指向函数或者类地址,而是指向对象地址。如下
原创 2011-11-06 16:27:00
684阅读
C++作为C超集,除了支持C所有功能之外,还有一点特殊要求,这是作为C++宣传口号,但实际上,学习C++,不能从C开始,因为两者是有非常多区别,从面向对象与面向工程区别来说,这根本就是两个不同语言,从编译器要求来说,也是有非常大区别,使用不同编译器和不同类库。那么学习C++需不需要C基础呢?当然需要。有C基础再加上C++发挥,对程序理解非常好。C++首先是以一个面向对象
原创 2011-11-06 11:35:32
568阅读
C++ 区别于C一个重要概念就是C++是面向对象C是面向过程。其中重载(overload)是C++仅有的一种特性,依赖于C++编译器。重载一般发生在函数之上,重载可以出现在我们前面学习三种函数:普通函数,友元函数,成员函数。另外重载还可以发生运算符之上。下面分别解说如下: 【1】函数重载 同名但是不同参数类型或者参数个数函数,叫函数重载。从这个定义里我们要需要注意以下几点:重载发生
原创 2011-11-10 22:06:56
439阅读
面向对象编程与面向过程一个根本区别,就是面向对象编程在虚拟计算机世界构造出了形形色色对象,很显然这些对象之间必然要发生关系,如何区别描述这些关系也是面向对象这门课所要研究问题。我们都知道其中有非常多概念,有些概念还非常抽象,根本难以理解,特别是如果逻辑思维不好的话,会根本被这些概念绕进去。那么这里我们怎么去理解这些东西呢?以我经验,我想我们还是从生活来理解,我们相像一下计算机描述世界
原创 2011-11-10 22:22:03
522阅读
继承多态等等。。
原创 2013-12-05 00:07:33
738阅读
C#点滴 – CLR, CTS…等等基本概念 1. CLR – Common Language Runtime() 为.NET应用程序提供运行环境。定位、加载和管理.NET类型,同时也负责一些底层细节工作,如内存管理、创建应用程序域、线程和对象上下文边界,安全检查等等。   2. CTS – Common Type Syst
转载 精选 2011-07-22 15:00:43
780阅读
一.代码框架 #include<iostream> #include<cstdio> //或者#include<stdio.h> using namespace std; int main(){ // } 二.整型常量 int n=123;//十进制 int m=0123;//八进制 int l=0 ...
转载 2021-09-08 20:15:00
268阅读
2评论
指针是c/c++特有的吗?每种编程语言都使用指针,但Java、c#等将指针隐藏,而c/c++将指针暴露给了程序员 如何理解符号表?记录变量名及变量对应地址。在编译时生成,生成后不可改 c++中内存有哪几种?如何分配?存储什么内容?静态存储区、栈存储区、堆存储区。静态存储区在编译时分配,在程序
转载 2019-03-19 21:48:00
62阅读
2评论
C++语言中,数据输入和输出(简写为I/O)包括对标准输入设备键盘和标准输出设备显示器、对在外存磁盘上文件和对内存中指定字符串存储空间(当然可用该空间存储任何信息)进行输入输出这三个方面。对标准输入设备和标准输出设备输入输出简称为标准I/O,对在外存磁盘上文件输入输出简称为文件I/O,对内存中指定字符串存储空间输入输出简称为串I/O。 C++语言系统为实现数据输入和输出定
原创 2021-07-12 10:28:20
121阅读
汇编语言是指直接工作在硬件之上语言,但不是机器语言,机器语言是机器指令集合。汇编语言是汇编指令集合,汇编指令是便于记忆机器指令另一种书写方式,也就是说是机器指令助记符。 汇编指令与数据在内存中存储都是二进制形式存储,因此CPU是无法直接区分一块内存是地址还是数据,但是CPU在与内存(这里指得所有芯片内存)进行数据传输时,将传输总线分成三大类:地址总线、数据总线、控制总线。这三类
原创 2011-08-18 17:50:40
1535阅读
  • 1
  • 2
  • 3
  • 4
  • 5