随笔分类 - C语言/C++
1
记录C语言学习过程中的各种细节和问题和C++的知识
摘要:struct Point { int x, y; Point(int x = 0, int y = 0): x(x), y(y) {} // 构造函数 }; Point operator + (const Point &A, const Point &B) { return Point(A.x +
阅读全文
摘要:#include <iostream> #include <string> #include <cctype> #include <vector> #include <map> #include <algorithm> using namespace std; map<string, int> cn
阅读全文
摘要:#include <iostream> #include <string> #include <set> #include <sstream> using namespace std; set<string> dict; // string 集合 int main() { string s, buf
阅读全文
摘要:C 语言 printf("%d", n) 默认是左对齐,而如果是给定了数字宽度,如: printf("%5d", n); 这个默认是右对齐, 而要改成左对齐,只需要加一个负号即可: printf("%-5d", n); 示例: #include <stdio.h> #include <string.
阅读全文
摘要:如图, 将 Braces placement 中的几个选项全部换成 Next line 即可.
阅读全文
摘要:#define #define MAX 100 这个语句定义一个宏 MAX 为 100, 那么, 在下面的程序中, 我们就可以用 MAX 来指代 100, 例如, 定义一个存放 100 个 int 类型数据的数据: int array[MAX]; typedef C 语言提供了 typedef 关键
阅读全文
摘要:用 typedef 声明函数的格式 // 方式一 --> 表示一个返回值为 int 类型, 参数为两个 int 的函数 // 赋值时可以这样写: Func = 函数名 typedef int(Func)(int, int); // 方式二 --> 表示一个返回值为 int 类型, 参数为两个 int
阅读全文
摘要:今天在整理《数据结构》(陈越) 中的图时, 读到一段用到了函数指针的写法, 初时很懵, 遂谷歌之, 找到了菜鸟教程的写得很好的一篇解释, 现转载整理如下. 书中使用到了函数指针的代码: void Visit(Vertex V) { printf("正在访问顶点%d\n", V); } // Visi
阅读全文
摘要:使用 memset() 函数 #define SIZE 100 // eg1. 初始化一个大小为 100 的字符数组 // memset 执行后的效果是将 test 数组的元素全部初始化为 0 void func1() { char test[SIZE]; memset(test, 0, SIZE)
阅读全文
摘要:由一个语句引发的思考: struct PolyNode *P = (struct PolyNode *P)malloc(sizeof(struct PolyNode)); 和汉语有时的 “失语症” 类似,在 C 语言这儿我也遇到了失语的情况,就来记录一下。 下面的内容基本转自:https://www
阅读全文
摘要:1、问题说明 PolyNode 声明在 poly.h 头文件中: #ifndef POLYNOMIALCOMPUTE_POLY_H #define POLYNOMIALCOMPUTE_POLY_H struct PolyNode; typedef struct PolyNode *Polynomia
阅读全文
摘要:#include<stdio.h> #include<stdlib.h> #include<time.h> using namespace std; int main() { clock_t start_time, end_time; double duration; start=clock();/
阅读全文
摘要:clock_t clock(void) 返回程序执行起(一般为程序开头),处理器时钟所使用的时间。 其中,clock_t 是一个长整型,它是一个适合存储处理器时间的类型。 clock() 的实际意义是指“进程启动到调用clock()函数经过了多少CPU时钟计时单元”,借助 CLOCKS_PER_SE
阅读全文
摘要:简单来讲,typedef的作用就是给某些类型定义别名,和#define类似,但是比#define更加灵活。 这里我暂时只遇到了两个使用场景: 第一处,定义普通数据类型 typedef int ElementType; // 所以包含这个语句的C文件中ElementType就代表了int 第二处,定义
阅读全文
摘要:#ifndef _List_H #define _List_H struct Node; typedef struct Node *PtrToNode; typedef PtrToNode List; typedef PtrToNode Position; List MakeEmpty( List
阅读全文
摘要:1、某本书上的解释 例程:例程是某个系统对外提供的功能接口或服务的集合,如操作系统的API,例程的作用类似于函数。 2、百度百科上的解释 例程的作用类似于函数,但含义更为丰富一些。例程是某个系统对外提供的功能接口或服务的集合。比如操作系统的API、服务等就是例程;Delphi或C++Builder提
阅读全文
摘要:和三个柱子的最初的汉诺塔很类似,只是多了一个柱子,相当于缓存区大了一些,处理的速度自然快了一些。 粗略的C代码(并没有使先移动到第四根柱子上面的圆盘的数量是最优): #include <stdio.h> int count = 0; void hanoi (char s, char t1, char
阅读全文
摘要:1、遇到的情景 int MaxSubsequenceSum(const int A[], int N) { int ThisSum, MaxSum, j; ThisSum = MaxSum = 0; for(j = 0; j < N; j++) { ThisSum += A[j]; if(ThisS
阅读全文
摘要:unsigned int或unsigned只用于非负值的场合。这种类型与有符号类型表示的范围不同。例如,16位unsigned int允许的取值范围是0~65535(这里包括边界,下同),而不是-32768~32767(这个是16位的int的范围)。用于表示正负号的位现在用于表示另一个二进制位,所以
阅读全文
摘要:犯了经验主义错误,以为CLion的相对路径和IDEA一样都是在项目的文件夹下面。但是,事实并不是这样。 默认的情况下,./ 获取当前路径是在 cmake-build-debug 文件夹下。 如果想要修改成和IDEA中类似在整个项目下,需要修改工作空间。 测试: int main() { FILE *
阅读全文
1