C/C++
文章平均质量分 57
codechaser
这个作者很懒,什么都没留下…
展开
-
C语言scanf函数返回值小记
scanfscanf是C标准库stdio里面定义的用于获取用户输入的函数,具体的介绍可以在CppReference上看到。scanf的返回值是已经成功赋值的变量个数,也就是说在scanf("%d %d",&a,&b)这个调用返回的值在用户输入1 2时返回的是2,如果用户输入的是1 b,那么返回值为1,如果输入的是a b,那么返回的是0。...原创 2018-10-29 14:13:46 · 875 阅读 · 0 评论 -
C++ Primer笔记--1
文章目录引用指针const 与指针类型说明符auto类型说明符decltype()复合类型是指基于其他类型定义的类型,其中有这几种:数组字符串struct 结构enum 枚举union 共用体指针引用这里看看其中的引用和指针。引用引用为对象齐了另外一个名字,引用类型引用另外一种类型。通过将声明符写成&d的形式来定义引用类型,其中d是声明的变量名。引用不是对象。#...原创 2018-11-26 20:40:45 · 227 阅读 · 0 评论 -
MAKEFILE编写学习--1
makefile是在编译中大型程序中使用的自动化编译工具make依赖的指令文件。这样可以使得程序的编译更加便捷快速。makefile的一般规则如下:target ... : prerequisites ...commandtarget即是一个目标文件,它可以是可执行程序、目标中间文件、标记(label)等。这个目标要想编译出来需要的前提条件就是prerequisites这些已存在的文件。...原创 2018-11-18 14:39:12 · 183 阅读 · 0 评论 -
C Primer Plus--C预处理器和C库(2)
文章目录#include指令头文件其他指令`#undef`条件编译`#ifdef` `#else` `#endif``#ifndef``#if`和`#elif`预定义宏`#line`和`#error`内联函数#include指令#include <头文件.h>//在标准系统目录中寻找头文件#include “头文件.h”//先在当前目录下面寻找头文件,然后在标准系统目录下寻找头...原创 2018-11-12 14:58:30 · 182 阅读 · 0 评论 -
C Primer Plus--高级数据结构之二叉树
C Primer Plus–高级数据结构表示之二叉树文章目录二叉搜索树 Binary Search Tree用C构建二叉树ADT树结构的定义二叉搜索树 Binary Search Tree二叉树是一种高级数据结构。树中的每个节点都包含一个项目和两个指向其他节点的指针。每个节点都有两个子节点:左节点、右节点。在左节点中的项目是父节点中项目的前序向,而在右节点中的项目是父节点项目的后序向。二...原创 2018-11-15 20:05:15 · 237 阅读 · 0 评论 -
C Primer Plus--结构和其他数据类型(2)
C Primer Plus–结构和其他数据类型(2)文章目录枚举类型 enumerated type枚举默认值为枚举指定值命名空间 namespace`typedef`关键字`*` `()` `[]`修饰符`typedef`与这三个运算符结合函数与指针函数指针作为参数枚举类型 enumerated type枚举是用来代表整数常量的符号,枚举类型的声明与struct声明类似。枚举常量都是int...原创 2018-11-08 21:36:18 · 267 阅读 · 0 评论 -
C Primer Plus--C存储类、链接和内存管理之动态分配内存及类型限定词
文章目录存储类说明符存储类和函数动态分配内存`malloc`函数`free`函数`calloc`函数动态分配内存的缺点C类型限定关键字`constant`定义全局常量`volatile`关键字`restrict`关键字存储类说明符C中存储类说明符共有5个,为auto register static extern typeddef,最后一个关键字typedef与内存存储无关。规定:不可以在一个...原创 2018-11-05 19:16:24 · 219 阅读 · 0 评论 -
C Primer Plus--C预处理器和C库(1)
文章目录重定义常量在`#define`中使用参数在类函数宏中使用`#`运算符在宏中使用`##`运算符可变宏:`...`和`__VA_ARGS__`编译程序之前,先由预处理器检查程序(因此称为预处理器)。根据程序中使用的预处理器指令,预处理用符号缩略语所代表的内容替换程序中的缩略语。预处理器可以根据你的请求包含其他文件,还可以让编译器处理哪些代码。预处理器不能理解C,它一般是接受一些文本并将其...原创 2018-11-10 19:46:46 · 398 阅读 · 0 评论 -
C Primer Plus--结构和其他数据类型(1)
文章目录结构变量 structure variable建立结构声明定义结构声明结构数组嵌套结构结构指针使用指针访问结构成员结构用于传参在结构中使用指针的危害联合(Union)数据结构结构变量 structure variableC中struct是用来将多种数据类型组合到一起包装成一种新的类型。创建一个struct数据类型需要:建立结构的格式或布局声明遵循该布局的变量获取对一个结构变量的...原创 2018-11-07 19:04:51 · 209 阅读 · 0 评论 -
C Primer Plus--C存储类、链接和内存管理之存储类(storage class)
存储类C为变量提供了5种不同的存储类型:自动寄存器具有代码块作用域的静态具有外部链接的静态具有内部链接的静态不同角度描述变量:存储时期 变量在内存中保留的时间变量作用域(Scope)以及它的链接(Linkage) 变量的作用域和链接一起表明程序的哪些部分可以通过变量名来访问该变量不同的存储类提供了变量的作用域、链接以及存储时期的不同组合。作用域作用域分为:代码...原创 2018-11-04 20:22:51 · 346 阅读 · 0 评论 -
C程序获取命令行参数
命令行参数命令行界面中,可执行文件可以在键入命令的同一行中获取参数用于具体的执行命令。无论是Python、Java还是C等等,这些语言都能够获取命令行参数(Command-line argument,与命令同一行中的附加项)。C编写的可执行文件的程序入口函数是main函数,因此C程序真正读取命令行参数的就是main函数。例:#include <stdio.h>/* * t...原创 2018-11-04 14:35:52 · 654 阅读 · 0 评论 -
C Primer Plus--位操作
位字段 bit field位字段是一个signed int或者unsigned int中一组相邻的位。位字段由一个结构声明建立,该结构声明为每个字段提供标签,并决定字段的宽度。struct p { unsigned int autfd : 1;//autfd字段占一个int其中的1位宽度 unsigned int bldfc : 1; unsigned int un...原创 2018-11-09 19:54:56 · 156 阅读 · 0 评论 -
getchar与putchar缓冲区以及字符串数组、指针
getchar与putchar缓冲区有下面的语句段:while ((s = getchar()) != '\n'){ putchar(s); putchar(&amp;quot;\n&amp;quot;); }这个while循环是怎么工作的呢?首先getchar在数据缓冲区里读数据进来,这个读取数据是一个个读的,循环依次判断读进来的字符是不是为换行符,是的话就跳出循环,不是就打印出该...原创 2018-11-01 22:25:39 · 860 阅读 · 0 评论 -
const关键字与数组、指针
开始回顾C基础知识。C中使用指针是很危险的事情,一个不慎就会造成程序崩溃,因此对于传入函数的参数进行保护就是必须的了,特别是针对数组。const关键字const关键字用于将一个变量声明为只读,也就是常量,无法被修改。const int constant = 10;//声明constant为常量的同时对它进行初始化赋值int const constant = 10;//也可以将const放在...原创 2018-11-03 14:40:56 · 8312 阅读 · 3 评论 -
C++通过迭代修改字符串本身(auto类型说明符)
以字符串这种支持for (declaration : expression) statement这样for语句迭代的数据结构为例,我们看看auto关键字在类型推断中的作用。string s = &amp;amp;amp;amp;quot;I LOVE YOU!&amp;amp;amp;amp;quot;;for (char ch : s){ cout &amp;amp;amp;amp;amp;lt;&amp原创 2018-11-28 15:04:13 · 856 阅读 · 0 评论