自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

lbd321的博客

人前显贵需人后受罪!

  • 博客(27)
  • 资源 (11)
  • 收藏
  • 关注

原创 C++中string类型转换成char *类型

这是在写项目时发现的问题,string类型变量不能直接赋值给char *类型的变量怎么解决这个问题呢?这里应到了一个函数c_str()例如:   string s;   char *p = s.c_str();   //把string类型转换成char *类型

2017-02-25 22:06:15 734

原创 C++编程,输入密码时显示*号

分享一下通用模板:#include    //包含头文件    string password;      //真正的密码存放处    char pw[50],ch;        printf("请输入密码:");         i = 0;        while((ch = _getch()) != '\r')         {     

2017-02-25 21:58:51 6675

原创 6、面向对象的基本概念

1、基本概念     类和对象是面向对象中的两个基本概念     “类”指的是一类事物,是一个抽象的概念     “对象”指的是属于某个类的一个实体,是一个具体存在的事物        ——类是一种“模板”, 可以通过这种模板创建出不同的对象“实例”        ——对象“实例”是类“模板”的一个具体实现        ——一个类可以有很多对象,而一个对象必然属于某个类

2017-02-22 20:25:05 366

原创 3.1、宏定义和使用分析

1、#define定义宏常量可以出现在代码的任何地方2、#define从本行开始,之后的代码都可以使用这个宏常量3、#define表达式给有函数调用的假象,却不是函数4、#define表达式可以比函数更强大5、#define表达式比函数更容易出错6、宏表达式与函数的对比   ·宏表达式在预编译期被处理,编译器不知道表达式的存在   ·宏表达式用“实参”完全替代形参,

2017-02-22 20:23:21 262

原创 5、专题一经典问题解析

1、const和引用的疑惑       #include              int main()       {           const int x = 1;   //真正意义上的常量           int& rx = const_cast(x);                      rx = 5;                

2017-02-21 21:45:27 290

原创 2.7、优先级和类型转换分析

1、警示:易错的优先级    2、C语言隐式类型转换    ·算术运算式中,低类型转换为高类型    ·赋值表达式中,表达式的值转换为左边变量的类型    ·函数调用时,实参转换为形参的类型    ·函数返回值,return表达式转换为返回值类型

2017-02-21 20:00:22 275

原创 2.6、++和--操作符

1、int i = 3;   (++i) + (++i) + (++i) = ?      //C语言中的灰色地带   第一种编译器结果18   6+6+6   第二种编译器结果16   5+5+(++i)  gcc  g++   2、逗号表达式    int x = 3;    int k = (++x, x++, x+10);        从左到右的顺序求

2017-02-21 13:15:29 271

原创 4、C++中新的关键字

1、C++中的动态内存分配     C++中通过new关键字进行动态内存申请     C++中的动态内存申请是基于类型进行的     delete关键字用于内存释放          变量申请:     Type* pointer = new Type;     //......     delete pointer;          数组申请:   

2017-02-20 18:08:31 399

原创 2.5、位运算分析

1、~ 按位取反   & 按位与   | 按位或   ^ 按位异或   2、结合律   a&b&c (a&b)&c a&(b&c)   交换律   a&b  b&a   3、左移和右移注意点    ·左移运算符         ·规则:高位丢弃,低位补0             ·右移运算符>> 把运算符的二进制位右移         ·规则

2017-02-20 16:13:20 287

原创 关于装msdn网站纯净版win7正版授权问题(已解决)

1、用软通牒软件制作启动U盘2、设置bios从U盘启动3、安装好的系统是没有网卡驱动的,需要从官网下载网卡驱动,以便连网更新驱动4、我一般装的系统是用KMS神龙版破解激活,不过win7不能直接激活5、需要下载5-DBSLDR.exe,以管理员身份运行,安装6、再下载SLICDumpTooIKit.exe,查看安装是否成功7、最

2017-02-19 23:09:54 2745

原创 在二级上机题中发现conio.h

conio.h不是C标准库中的头文件,在C standard library,ISO C 和POSIX标准中均没有定义。conio是Console Input/Output(控制台输入输出)的简写,其中定义了通过控制台进行数据输入和数据输出的函数,主要是一些用户通过按键盘产生的对应操作,比如getch()函数等等。     大部分DOS,Windows 3.x,Phar Lap,D

2017-02-19 22:56:49 264

原创 3、函数的升级(下)

1、重载   同一个标识符在不同的上下文有不同的意义   2、函数重载    同一个函数名定义不同的函数    当函数名和不同的参数搭配时函数的含义不同    int func(int x)        int func(int a, int b)        int func(char *s)    3、函数重载至少满足下面的一个条件:  

2017-02-19 15:17:25 202

原创 2.4、逻辑运算符的使用分析

1、int i = 0;     int j = 0;          if ( ++i > 0 || ++j > 0 )     {         printf ("%d\n", i);         printf ("%d\n", j);     }      i = 1;      j = 0;2、程序中的短路     短路规

2017-02-19 13:37:21 344

原创 2、函数的升级(上)

1、const int A = 3; => #define A 32、C++中推荐使用内联函数替代宏代码片段3、C++中使用inline关键字声明内联函数       inline  int  func(int a, int b)       {              return a        }4、内联函数声明时inline关键字

2017-02-18 17:13:35 233

原创 2.3、单引号和双引号

1、低位的地址是给操作系统用的2、char *p1 = 1;       //p1指向地址为1的内存    (给操作系统用)     char *p2 = '1';      //p2指向地址为49的内存  (给操作系统用)     char *p3 = "1";     //p2指向字符串首地址,字符1的地址     p1和p2指向了不该指的地方,形成野指针

2017-02-18 13:58:09 525

原创 2.2、接续符和转义符

1、C语言中的接续符(\)是指示编译器行为的利器2、接续符的使用:       (1).编译器会将反斜杠剔除,跟在反斜杠后面的字符自动解到前一行       (2).在连接单词时,反斜杠之后不能有空格,反斜杠的下一行之前也不能有空格       (3).接续符适合在定义宏代码块时使用#define SWAP(a,b) \{                    

2017-02-17 22:06:39 449

原创 2.1、注释符号

1、编译器会在编译过程删除注释,但不是简单的删除而是用空格代替     int/*.......*/i;  编译通过     in/*..........*/t i; 编译不可行2、编译器认为双引号括起来内容都是字符串,双斜杠也不例外3、"/*...........*"型注释不能被嵌套4、写注释不是和人聊QQ,一定要准确有用,避免晦涩和臃肿

2017-02-16 22:28:03 375

原创 1、C++中的引用

1、true代表真值,编译器内部用1来表示2、false代表假值,编译器内部用0来表示3、理论上bool只占用一个字节4、bool类型只有true(非0)和false(0)两个值5、C++编译器会在赋值时将非0值转换为true,0值转换为false6、在c语言中,三目运算符返回的是变量值,不是变量,不能作为左值7、在c++中,三目运算符返回的变量本身,可以作为左值8

2017-02-15 21:11:56 271

原创 1.7、enum、#define和typedef的注意点

1、enum默认常量在前一个值的基础上加12、enum类型的变量只能取定义时的离散值3、enum color   {        GREEN,        RED,        BULE   };   GREEN == 0, RED == 1, BULE == 24、enum定义的常量才是真正意义的常量5、枚举类型和#d

2017-02-15 16:19:36 329

原创 1.6、struct和union

1、在程序中可以定义一个空结构体2、空结构体的大小和编译器有关3、柔性数组即数组大小待定的数组4、C语言中结构体的最后一个元素可以是大小未知的数组5、C语言可以由结构体产生柔性数组    struct soft{        int len;        int array[];    }6、 gcc编译时size

2017-02-13 22:01:28 166

原创 1.5、const和volatile深度理解

1、在C语言中const修饰的变量是只读的,其本质还是变量2、const修饰的变量会在内存占用空间3、本质上const只对编译器有用,在运行时无用4、不能直接改变const变量的值,要用指针改变5、const int cc = 1;      int *p = (int *)&cc;      p = 3;6、在语言中const修饰的数组是只读的7、const修

2017-02-10 22:58:34 222

原创 1.4、goto、void、extern、sizeof剖析

1、goto破坏了c语言顺序执行的规则2、void修饰函数返回值和参数仅为了表示无3、没有void的标尺,无法在内存中裁剪出void对应的变量(灰色替代)4、编译器厂商规定的void为1个字节(不可信)5、C语言规定只有相同类型的指针才可以相互赋值6、void*指针作为左值用于"接收"任意类型的指针7、void*指针作为右值赋

2017-02-09 22:51:48 362

原创 1.3、if、switch、break、continue、bool、float精度和函数设计注意点

1、严格来说C语言中是没有bool类型的2、typedef enum _bool      {             FALSE,             TRUE       }BOOL;3、if判断条件只是0或者非04、预防手误  if ( 0 == i )5、float型变量不能直接进行0值比较,需要定义精度

2017-02-09 21:47:08 378

原创 深入理解数据类型、变量属性、内存四区和指针

数据类型可理解为创建变量的模具(模子);是固定内存大小的别名。数据类型的作用:编译器预算对象(变量)分配的内存空间大小。既能读又能写的内存对象,称为变量;若一旦初始化后不能修改的对象则称为常量。变量本质:(一段连续)内存空间的别名。内存四区栈区(stack):也叫临时区,由编译器自动分配释放,存放函数的参数值,局部变量的值等。堆区(heap):一

2017-02-08 14:42:02 407

原创 1.2、关键字auto、static、register的精华

1、auto即C语言中局部变量的默认属性     编译器默认所有的局部变量都是auto的 (栈区)2、static修饰的全局变量作用域只是声明的文件中     static修饰的函数作用域只是声明的文件中     static修饰的局部变量存储在(程序静态区)     static的另一个意义是文件作用域标示符     静态局部变量只会被初始化一次3、regis

2017-02-08 14:24:49 266

原创 1.1、数据类型和变量深度理解

1、数据类型可以理解为固定内存大小的别名2、数据类型是创建变量的模子3、变量的本质是一段实际连续存储空间的别名4、程序中通过变量来申请并命名存储空间5、通过变量的名字可以使用存储空间

2017-02-08 14:17:15 260

原创 C语言中结构体变量内存对齐

首先看下面一段代码:#include typedef int INT32;typedef unsigned char BYTE;typedef struct demo{    double s;    BYTE b1;    BYTE b2;    INT32 i;}DEMO;int main(){    double i32;  

2017-02-07 23:06:00 339

APMF32F1-keil5-pack包

用APM32F103c8t6代替STM32F103c8t6,需要安装相应的pack。

2021-01-14

基于STM32车牌识别系统资料V1.0_Ricky(1).zip

stm32f103rbt6+OV7670摄像头车牌识别资料,包含制作教程、原件清单、电路图、源码例程(keil4)

2020-05-26

HC-SR04超声波测距模块资料.zip

智能小车最常用的测距避障模块,有C51+1602测距例程,如果需要stm32超声波舵机避障的程序,可以加评论。

2020-05-26

STM32F103C8T6最小核心板程序文档电路图.zip

stm32f103c8t6说明手册,包括例程、芯片手册、电路图。这款stm32性价比高,适合各类stm32相关设计。

2020-05-26

OLED-STM32-SPI和IIC例程资料.zip

OLED 0.96 stm32 SPI和IIC例程资料,还包含了C51、Arduino单片机例程

2020-05-26

myAction.zip

Qt常用的Action图标,便于在Qt程序开发中使用。

2019-08-13

基于QT5的modbus服务器和客户端demo

QT5环境下的Modbus例程,可供工控modbus通信参考。

2019-04-08

正点原子STM32F103+MPU6050实现计步器源码

STM32开发板MPU6050陀螺仪实现计步器功能

2017-06-27

51单片机wifi小车制作资料

史上最全的单片机wifi小车制作资料

2017-03-05

Navicat Premium简体中文版

免费给大家下载,有什么问题尽管留言!

2017-02-19

计算机系统安装与故障维护

2016-12-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除