摘要:
第1天:从argv[1]开始 先从命令行参数讲起吧。 现今的人们,尤其是写大型的项目,一般都用IDE。我们没那么高级,只是先从一个编译器做起,不需要IDE。对于编译器的调用,本质就是给一个源代码进去,经过对源代码进行分析,然后出来一个结果。那么对于源代码文件,传送给编译器,一般使用命令行参数。 C: 阅读全文
摘要:
#前言 如今的很多开发人员,对指针或多或少都有一些畏惧心理,都认为“指针经常会在一些不起眼的地方让程序崩溃”。确实,很多错误都是由于指针引起的。指针和内存密切相关,难免会由于地址或是数组越界,没有初始化等原因,导致程序崩溃,然而,其实大多数错误都是可以避免的。 其实本人也看过一本书,叫做《征服C指针 阅读全文
摘要:
我们都知道,’\0’是字符串的结束标记。因此,执行这段代码: #include<bits/stdc++.h> using namespace std; int main(){ cout<<"ab\0cd"; } 输出结果:ab 这是因为,cout默认判断字符串到结束符号\0,认为字符串结束了,因此就 阅读全文
摘要:
一、启动区 ORG 0x7C00 JMP entry DB 0x90 DB "HELLOIPL" DW 512 DB 1 DW 1 DB 2 DW 224 DW 2880 DB 0xf0 DW 9 DW 18 DW 2 DD 0 DD 2880 DB 0,0,0x29 DD 0xffffffff D 阅读全文
摘要:
函数的返回地址保存在[ESP]中,第一个参数保存在[ESP+4]中,第二个参数保存在[ESP+8]中,以此类推 于是可以写出这样一段东西出来: 1 #include<stdio.h> 2 #include<stdlib.h> 3 void hello(int x); 4 void f(int x); 阅读全文
摘要:
看注释,应该写的很明白 #include<bits/stdc++.h> using namespace std; int N,Layer,Last_Layer; int main(){ scanf("%d",&N); //沿斜线方向给层编号,第i层的最大数字为i(i+1)/2 Layer=ceil( 阅读全文
摘要:
#include<stdio.h> #include<windows.h> #include<conio.h> int key_to=1; void set_key_pos(void *handle,int x,int y){ COORD pos={y,x}; SetConsoleCursorPos 阅读全文
摘要:
后缀表达式由于其特殊性只需要操作数栈,不需要运算符栈,每当出现运算符就说明是对前面两个操作数进行操作 #include<bits/stdc++.h> using namespace std; char tok[30][20]; int tok_max; int pos=1; int main(){ 阅读全文
摘要:
NOIP2013普及组T2 只有加法和乘法的表达式 思考: 使用tok来存放操作数或操作符(在编译器词法分析中称之为token,故简写为tok);输入只有一行可以用fgets,不知道题目给的输入文件有没有换行(fgets是会读入换行符的),所以还要加个判断,不然存放的时候会把换行符也当做运算符 对于 阅读全文
摘要:
浮点数常量,编译出来的结果直接就是按照十六进制的long存在.LC0的数据段 使用指针的方法进行强转,试验值是否相等: 阅读全文
摘要:
最近可能随手会记很多C/C++语法相关的东西,都是随手记的,如果后续有空可能会整理成文章。 #1.关于gcc的lm编译选项: 观察易知,像stdio.h,stdlib.h或者math.h之类的头文件,包含的都是函数的声明而非定义。(关于声明和定义,详见之前《浅谈指针》的文章系列)而真正的函数定义,都 阅读全文
摘要:
#include<bits/stdc++.h> using namespace std; const int N=1001; struct Point{ int x,y; }; Point change(Point p){ //将直角平面坐标系转化为数组坐标 p.x=abs(p.x+N/2); p. 阅读全文