![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
IvyYin
达则兼济天下
展开
-
C语言stdio.h和stdlib.h
stdlib 头文件即standard library标准库头文件,包含了C、C++语言的最常用的系统函数。stdlib.h里面定义了五种类型、一些宏和通用工具函数。类型例如size_t、wchar_t、div_t、ldiv_t和lldiv_t;宏例如EXIT_FAILURE、EXIT_SUCCESS、RAND_MAX和MB_CUR_MAX等等;常用的函数如malloc()、calloc(原创 2017-06-14 15:05:39 · 6591 阅读 · 0 评论 -
C++基础知识
一、引用(&)1、基本定义:引用可以理解为变量的别名int x = 10;int &y = x; //y 是 x 的引用,可以理解为别名,y 所做的更改即是 x 所做的更改y = 20; //此时 x 也会变成202、一点拓展:引用必须初始化;引用的操作与变量本身的操作是一样的;结构体变量的引用与普通变量的引用的使用是一样的;指针类型变量的引用与普通...原创 2018-03-05 22:16:54 · 176 阅读 · 0 评论 -
C++基础面试题总结
1.const与define 相比,有何优点const作用:定义常量、修饰函数参数、修饰函数返回值三个作用。被Const修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性。 1) const 常量有数据类型,而宏常量没有数据类型。编译器可以对前者进行类型安全检查。而对后者只进行字符替换,没有类型安全检查,并且在字符替换可能会产生意料不到的错误。 2) 有些集成化的调试工具可以对c转载 2017-10-15 10:44:07 · 1655 阅读 · 0 评论 -
C++重载、隐藏、覆盖的区别
关于C++重载、隐藏、覆盖三个概念有很多内容可供参考,也有的博客里面写的很是详细,但是个人认为,对于这三个概念,放在一起对比反而更容易混淆,单个概念进行解释会更加便于理解。下面进行逐个解释:1、重载首先,重载是不涉及父类和子类的,函数重载的前提是函数在同一个作用域中,那什么样的函数是重载函数呢?函数重载的基本概念如下:在同一个作用域下,函数名称相同,函数参数类型不同,或函数参数个数不同,或函数参数类原创 2017-10-14 20:00:23 · 249 阅读 · 0 评论 -
C++多态
C++作为面向对象的语言,有三大特性:封装、继承和多态。多态的基础是继承,没有继承就没有多态。那么,什么是多态呢?多态是指相同的对象收到不同的消息时产生不同的动作;或者不同的对象收到相同的消息时产生不同的动作。一、静态多态(早绑定) 在函数重载时,程序早在编译阶段就已经确定要使用哪个函数,这种情况称为早绑定。二、动态多态(晚绑定) 前面已经说明多态的基础是继承,那么在接下来的介绍中,这些内容都是原创 2017-08-27 21:33:37 · 165 阅读 · 0 评论 -
C++深拷贝与浅拷贝
在c++中,普通变量之间的复制是很简单的,比如int a = 3;int b = a;但是,对于类的对象之间的拷贝往往是相对复杂的,比如下面的例子。在这个例子中,在实例化类的对象s1时,系统调用构造函数,申请了一段内存,是正确的;但是在实例化对象s2时,系统调用的是拷贝构造函数,拷贝构造函数虽然复制了一份构造函数的内容,但是s2申请的内存和s1申请的内存是同一块内存,那么在释放内存时就会出现异常,原创 2017-10-13 22:58:59 · 261 阅读 · 0 评论 -
指向指针的指针详解
理解一般指针和指向指针的指针relation:http://blog.csdn.net/g200407331/article/details/52610175在说指向指针的指针之前,不得不说指向变量的指针。先看如下示例: 1. 指向整型指针先看如下示例: View Code 1 #include <iostream> 2 using namespace std; 3 4 int转载 2017-10-13 20:52:57 · 1516 阅读 · 1 评论 -
指针常量、常量指针;指针数组、数组指针;指针函数、函数指针
在C/C++中,关于指针常量、常量指针;指针数组、数组指针;指针函数、函数指针的概念很容易混淆,今天来整理一下,用作参考。1、指针常量、常量指针从中文的概念来理解,指针常量显然是一个常量,该常量的值为指针,定义为:int * const p;既然是常量,定义时一定要初始化,而且它的值一定是不可以改变的,所以说指针常量p不可以改变,p的值是一个地址,当指针一开始指向a的地址,后来换成b的地址时,是不允原创 2017-10-13 12:05:34 · 782 阅读 · 0 评论 -
C/C++的sizeof()以及数据对齐
1、各数据类型所占字节数:short:2个字节long:4个字节int: 4个字节char:1个字节float:4个字节double:8个字节bool:1个字节指针:4个字节空类:一个字节,单一继承和多重继承空类都是一个字节数组作为函数参数传值时,退化为指针,占用4个字节2、数据对齐:数据对齐是指数据所在的内存地址必须是该数据长度的整数倍。CPU的优化规则大致是:对于n字节原创 2017-10-12 11:07:15 · 287 阅读 · 0 评论 -
C++继承
C++中面向对象的思想非常重要,也非常实用。类的继承特性是C++的一个非常重要的机制,它可以是使得在创建一个新类时,子类可以继承父类的数据成员和成员函数,仅需添加子类本身特有的成员。 关于C++继承有很多概念和问题容易混淆,在此总结一下,仅供参考。一、继承方式注意:在继承时,若不说明继承方式,则默认为private继承。1、公有继承 其实公有继承不必多说,父类的public成员会继承到子原创 2017-08-27 17:45:04 · 184 阅读 · 0 评论 -
C/C++中break和continue的区别
break:跳出全部循环 continue:跳出本次循环进入下一次循环while(1) { scanf(“%d”,&a); if(a%2==0) continue; p=(node*)malloc(sizeof(n原创 2017-06-14 20:57:38 · 574 阅读 · 0 评论 -
C 和 C++的对比
我们都知道,C++语言是C语言的扩展,C++语言中添加了更多好用的特性,下面对两者进行简单的对比。1、数据类型 在C语言中数据类型主要分为基本类型、构造类型、指针类型、空类型。基本类型:整型 int、字符型 char、实型(单精度 float、双精度double)构造类型:数组类型、结构类型 struct、联合类型 union、枚举类型 enum指针类型空类型:void 而在C++中原创 2017-08-17 15:09:51 · 580 阅读 · 0 评论 -
C语言链表
title:输入若干个学生的信息(包括学号、姓名和成绩),输入学号为0时输入结束。建立一个单向链表,再输入一个成绩值,将成绩大于等于该值的学生信息输出。input:3n+2行,每3行为一个学生的信息,分别为学号,姓名和成绩。倒数第二行为0,表示输入结束。最后一行为一个整数,代表分数。output:若干行,每三行代表一个学生的信息。#include#include#i原创 2017-06-14 21:04:12 · 995 阅读 · 0 评论 -
C++面向对象
C++面向对象包含三大特性:封装、继承、多态,下面对知识点进行一一介绍。一、封装封装是指类中的所有数据成员都封装在类的成员函数中,只能通过类的成员函数进行访问。1、访问限定符(public, protected, private)使用类实例化一个对象,对于类中的 public 成员,对象可以直接访问;对于类中的 private 成员,对象只能通过类的成员函数进行访问,这也是 C...原创 2018-04-18 18:40:12 · 522 阅读 · 0 评论