
c/c++
. . . . .
越努力越幸运!
展开
-
关于C语言里格式化小数输出
例如%4.2f中,4表示总的长度的最小值,而2表示小数位数。因此如果你输出printf(“%4.2f”,4.2),那么就会输出4.20。但是如果你输出printf(“%4.2f”,4.2222),那么就会输出4.22。再例如如果你输错printf(“5.2f”,4.22222),那么会输出 4.22,注意前面有一个空格,以保证输出至少5位。如果输出printf(“4.2f”,5555.222),那么原创 2017-09-13 12:20:47 · 7471 阅读 · 2 评论 -
普通变量的引用 VS 传入指针型变量的引用
样例展示:1. 普遍变量的引用 void f(int &x) { ++x; }上面这段代码通过f函数改变x变量本身的值。 引用类型是在c++中提出来的,在C语言中如果想要在函数中改变变量本身的值就需要通过址传递(注意区分值传递和址传递的区别)。2. 传入指针型变量的引用 void f(int *&x) { ++x; }上面原创 2017-09-02 09:42:58 · 744 阅读 · 0 评论 -
C语言里case后面的语句不加大括号为什么有时候能编译通过,有时候不能?
C语言里使用case要注意的问题一般情况要加上break;case后面必须为整型数字或者字符类型; 对问题解答:case后面的语句不需要加大括号,只要别忘了break就行。不过有的编程规范上会建议用大括号把case后面的语句括起来。 你说的“不能通过编译”,可能是下面这个原因。C/C++里规定,不能在case语句里定义局部变量。例如:int a = 2; sw...原创 2018-03-26 09:58:51 · 5883 阅读 · 0 评论 -
C++中*&(指针引用)和*(指针)的区别
很久之前学的C++了,复习一下,指针是一个存放地址的变量,而指针引用指的是这个变量的引用,众所周知C++中如果参数不是引用的话会调用参数对象的拷贝构造函数,所以如果有需求想改变指针所指的对象(换句话说,就是要改变指针里面存的地址),就要使用指针引用,在网上看到大佬的代码,简单明了,如下:#include <...转载 2019-06-26 20:56:17 · 246 阅读 · 0 评论 -
二叉数生成中指针引用的作用
构建如下图所示二叉树:主要疑问:在创建二叉树的函数中为什么要用到指针的引用呢?(这一点很重要)因为我想改变从主函数中传入的二叉树的根指针。孩子节点最终会变成根节点,所以也需要改变指针,故需要指针引用的方式。具体请参考代码中的注释。//// Created by 彭程明 on 2019/6/26.//#include <iostream>using names...原创 2019-06-26 23:07:46 · 486 阅读 · 0 评论 -
二叉树的遍历(先序、中序、后序、层序)递归与非递归实现
写了一天的代码,留个纪念吧。。。#include <iostream>#include <stack>#include <queue>using namespace std;typedef struct binaryNode{ char data; binaryNode *lchild,*rchild;} binaryNode,...原创 2019-06-27 20:42:54 · 556 阅读 · 0 评论 -
C++中字节对齐问题
一. 为什么需要字节对齐 计算机组成原理教导我们这样有助于加快计算机的取数速度,否则就得多花指令周期了。为此,编译器默认会对结构体进行处理(实际上其它地方的数据变量也是如此),让宽度为2的基本数据类型(short等)都位于能被2整除的地址上,让宽度为4的基本数据类型(int等)都位于能被4整除的地址上,...原创 2019-09-04 09:37:59 · 395 阅读 · 0 评论