- 博客(19)
- 收藏
- 关注
原创 关键词 static const this
一。static不同对象的成员变量相互独立,它们的值不受其他对象的影响。有时候我们希望在多个对象之间共享数据,对象a改变了某份数据后对象b可以检测到。使用静态成员变量来实现多个对象共享数据的目标,被static修饰。注意事项:1.static成员变量必须在类声明的外部初始化 type class::name = value;type 是变量的类型,class 是类名,name 是变量名,va...
2018-04-19 17:24:25 137
原创 c++面向对象编程
引用(Reference)是 C++ 相对于C语言的又一个扩充。引用可以看做是数据的一个别名,通过这个别名和原来的名字都能够找到这份数据。引用类似于 Windows 中的快捷方式,一个可执行程序可以有多个快捷方式,通过这些快捷方式和可执行程序本身都能够运行程序;引用还类似于人的绰号(笔名),使用绰号(笔名)和本名都能表示一个人。 引用的定义方式类似于指针,只是用& 取代了* ,语法格...
2018-04-19 17:23:37 133
原创 多态性
1.多态的概念:多态性可以简单的概括为“一个接口,多个方法”,程序在运行时才决定调用的函数,它是面向对象编程领域的核心概念。多态,字面意思多种形状。2.多态的实现:C++多态性是通过虚函数来实现的,虚函数允许子类重新定义成员函数,而子类重新定义父类的做法称为遮蔽或者称为重写。(这里我觉得要补充,重写的话可以有两种,直接重写成员函数和重写虚函数,只有重写了虚函数的才能算作是体现了C++多态性)而重载...
2018-04-19 17:22:52 219
原创 运算符重载
所谓重载,就是重新赋予新的含义。函数重载就是对一个已有的函数赋予新的含义,使之实现新功能,因此,一个函数名就可以用来代表不同功能的函数,也就是”一名多用”。 运算符也可以重载。实际上,我们已经在不知不觉之中使用了运算符重载。例如,大 家都已习惯于用加法运算符”+”对整数、单精度数和双精度数进行加法运算,如5+8, 5.8 +3.67等,其实计算机对整数、单精度数和双精度数的加法操作过程是很不相同的...
2018-04-19 17:22:19 135
原创 string类
string类的构造函数:string(const char *s); //用c字符串s初始化string(int n,char c); //用n个字符c初始化此外,string类还支持默认构造函数和复制构造函数,如string s1;string s2="hello";都是正确的写法。当构造的string太长而无法表达时会抛出length_error异常 ;string类的字符操作...
2018-04-19 17:21:27 90
原创 c++函数模板和类模版
模版 C++提供了函数模板(function template)。所谓函数模板,实际上是建立一个通用函数,其函数类型和形参类型不具体指定,用一个虚拟的类型来代表。这个通用函数就称为函数模板。凡是函数体相同的函数都可以用这个模板来代替,不必定义多个函数,只需在模板中定义一次即可。在调用函数时系统会根据实参的类型来取代模板中的虚拟类型,从而实现了不同函数的功能。 1)C++提供两种模板...
2018-04-19 17:20:45 131
原创 const 和define的优势
使用const关键字来声明变量,表明,内存被初始化后,程序便不能再对它进行修改。 const int Months = 12; 此时,应该注意的是应该在声明中对const进行初始化,我们应该避免如下的写法: const int Months; Months = 12;你同样可以使用const声明一个指针和指针指向的内容: const char* const authorName = “Scott ...
2018-04-19 17:18:48 327
原创 什么是野指针
这里面的NULL指的是空指针 ,不指向任何单元,仅仅表示初始化 ;4.4.1 野指针野指针出现的现象 :1. 定义了以后 ,没有给地址赋值 ;2. 地址释放了以后 ,指针没有指NULL; 避免野指针 :1.定义的时候 =NULL;使用前赋值;2. 释放的时候 ;free(p); p=NULL; 3. assert(NULL !=p)------函数的入口处 ...
2018-04-19 17:17:38 418
原创 什么是预编译
什么是预编译预编译就是指程序执行前的一些预处理工作,主要指#表示的。何时需要预编译1.总是使用不经常改动的大型代码体。2.程序由多个模块组成,所有模块都使用一组标准的包含文件和相同的编译选项。在这种情况下,可以将所有包含文件预编译为一个预编译头。 两种格式区别编辑文件包含有两种格式,分别是:#include "file" 和 #include <file>这两格式的区别在于:1.使用双...
2018-04-19 17:16:41 3966
原创 结构体匹配问题
题目:有函数:int parseSoundSetting(char *configure, stSoundSetting *setting)把字符串 ID_SOUND_AAA_BBB_12V7R99W 匹配的结构体 struct _stSoundSetting 中#define BUFF_LEN 100#define AMP_NAME_LEN 10#define MODEL_NAME_LEN 40...
2018-04-19 17:15:31 225
原创 通讯录(用链表功能实现)
#include#include #include typedef struct people{ char name[10];//姓名 int age;//年龄 int num;//手机号码 struct people *next;}PEOPLE; void create(PEOPLE *L)//尾插法建立链表{
2018-01-05 10:02:43 1129
原创 c语言指针相关概念
1.指针的概念指针是什么?指针是变量,里面存放的是地址,如果定义了一个指针变量,而不赋给地址,会出现“段错误”2.指针的常见用法 一个整型数 :int a;指向一个整型数的指针: int *a;一个指向指针的指针,这个指针指向的是整型数: int **a;一个有10个整型数的数组:int a[10];一个有10个指针的数组,该指针指向一个整型数 : in
2017-12-19 21:10:39 709
原创 c语言数组相关内存的一些概念
1.一维数组不允许动态定义数组长度,如 int n;scanf("%d",&n);int a[n];2.在定义数组的时候要显示类型和空间大小(分配地址)int a[]={1,2,4,5};3.字符串函数(1).strcpy(数组,字符串)将字符串赋值给数组(2).strcmp(字符串,字符串)比较两个字符串的大小(3). strle
2017-12-19 20:55:39 555
原创 2017 12.29的c语言编程作业
1、 在数组中随机输入10个整数,然后按倒序打印这10个数(排序)。#include int main(){ int a[10],i,j,tmp; for(i=0;i { scanf("%d",&a[i]); } for(i=0;i { for(j=0;j
2017-12-09 16:59:16 205
原创 c语言
c语言模块:1. c的基础:变量的类型,输入输出的格式,常见的运算符,常见的一些字符,字符串的表示,函数等,sizeof,strlen用法;2. 常见的C语言的结构:if else ,switch3. 常见的循环结构: for,while,do..while(); continue,break用法;goto不作为主流用法,尽量不要用;4. 数组,一维数组,二维数组;数组的常见用
2017-12-06 20:25:23 233
原创 linux插入模式命令行模式,底行模式,gcc和makefile指令
GCC:1.gcc hello.c -o hello 这是一步编译成hello这个可执行文件,其实有四个过程:预处理,编译,汇编,链接四个过程,最后才成可执行的文件; 常见的文件后缀:.c c文件.h .h文件 .i 预处理过的c文件.o 编译后的目标文件.s 汇编语言文件 #inclde 包含的.h头文件在标准库中;
2017-12-02 21:35:52 1653
原创 课程作业
要求:1.20个linux指令。2.10个c语言程序。3.linux工具vi的使用方法。4.压缩解压的三个方式。 Linux 指令:ls 显示文件或目录 -l 列出文件详细信息l(list) -a 列出当前目录下所有文件及目录,包括隐藏的a(all)mkdir
2017-11-29 20:41:01 149
原创 linux系统的初步认识和一些简单指令‘
今天是我在苏嵌学习的第二天,以下是我今天的收获:1.实时性操作系统应具备以下几点属性:一。异步事件响应二。切换时间和中断延迟的确定三。优先级中断和调度四内存锁定五。连续文件六。同步 2.嵌入式系统的相关概念(1)。同步和互斥 同步:A,B,C三个人同时通过一个门,A先走,B第二个走,C第三个走,依次进行,这
2017-11-29 20:11:41 250
原创 第一天的学习
今天是我第一天在苏嵌学习,在经过一个早上的老师自我介绍和同学们的互相认识后,我们开始了第一天的课程,以下是我这一天的所学和心得体会。 1.什么是嵌入式系统? 在以前的计算机中,软件控制着硬件,但是硬件变化,软件也要变化,但如今,操作系统在中间,硬件改变,只要操作系统不变,软件也就不需要变。 嵌入式系统的定义:将应用程序,操作系统和计算机集成在一起的系统,设计完成
2017-11-29 20:10:41 145
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人