随笔分类 - 程序语言基础
C/C++,python及其它编程语言的基础知识,高级技巧,易错点和难点
摘要:基础知识 (待补充) typedef struct和struct(C和C++中的使用) typedef struct OLNode { int i,j; int data; OLNode *right,*down; }OLNode,*OLink; //结构的对象OLNode, 指向结构的指针*OLi
阅读全文
摘要:指针 什么是指针 假设有语句 int a = 10; 那么编译器就在内存中开辟1个整型单元存放变量a,我们假设这个整型单元在内存中的地址是 0x1000;那么内存0x1000单元中存放了数据10,每次我们访问a的时候,实际上都是访问的0x1000单元中的10。 现在定义:int *p;p = &a;
阅读全文
摘要:后缀名 由于历史原因,在很久以前,C++的源文件的后缀名也是 *.c,但这样会引起不少的问题。于是不同的前辈就想了不同的方法来解决这个问题:就是把C++文件的后缀名改为了 *.cc *.cpp *.cxx等等。 到了如今,基本上除了Unix系统外,其他的平台上,C++文件的后缀名基本上都是 *.cp
阅读全文
摘要:C语言指针数组(数组每个元素都是指针)详解 C语言二维数组指针(指向二维数组的指针)详解 int **指针与二维数组问题 1)定义二维数组方法: int matrix[ROWS][COLUMNS]; //定义一个二维数组,其中ROWS和COLUMNS为常数 2)加入有如下声明的子函数: void p
阅读全文
摘要:size_t存在的意义 三个字: 跨平台 代码解释 size_t = typeof(sizeof(X)) 简而言之 不同平台的size_t会用不同的类型实现,使用size_t而非int或unsigned可以写出扩展性(可移植性)更好的代码。 为什么要加“_t”? _t的意思显然就是type。一个类型
阅读全文
摘要:数组的静态分配与动态分配 栈区与堆区 例如:int a[10] vs int* a = new int[10] (1)int a[10]使用简单,系统会自动实现内存的分配和回收。int* a=new int[10]需要判断内存是否分配成功,以及在不用时需要使用delete[] a进行内存释放,否则会
阅读全文
摘要:变量 变量可以分为:全局变量、静态全局变量、静态局部变量和局部变量。按存储区域分:全局变量、静态全局变量和静态局部变量都存放在内存的静态存储区域,局部变量存放在内存的栈区。按作用域分: 全局变量在整个工程文件内都有效; 静态全局变量只在定义它的文件内有效; 静态局部变量只在定义它的函数内有效,只是程
阅读全文
摘要:GOOGLE的C++代码规范 在线:英文版 中文版 阿里官方Java代码规范标准《阿里巴巴Java开发手册 终极版 v1.3.0》下载
阅读全文
摘要:字符串查找 strchr,strrchr与strstr 功能:对字符串中的单个字符进行查找。 //strchr 函数原型的一般格式 char *strchr(const char *str, int c); 它表示在字符串str中查找字符,返回字符c第一次在字符串str中出现的位置,如果未找到字符c
阅读全文
摘要:sizeof 是在汇编里面就存在的一个指令,可以直接返回要判断的变量所占的内存大小(字节数),这是在编译器(编译阶段)就确定的。 返回值类型是size_t,该类型保证能容纳可以建立的最大对象的字节大小,在头文件 stddef.h 中定义。这是一个依赖编译系统的值,32位系统一般为: typedef
阅读全文
摘要:测试平台g++ 5.4.0和VS2015社区版。 输入输出原理简述 程序的输入都建有一个缓冲区,即输入缓冲区。当一次键盘输入结束时,输入的数据会被自动存入输入缓冲区中等待处理。 相对应的,程序的输出也建有一个缓冲区,即输出缓冲区。 cin和cout C++提供了两个用于处理输入和输出的预定义对象ci
阅读全文

浙公网安备 33010602011771号