C语言
文章平均质量分 74
wzg31796
这个作者很懒,什么都没留下…
展开
-
linux命令
h:左移j:下移k:上移K:查看manpagel:右移M:光标移到中间行L:光标移到屏幕最后一行行首G:移动到指定行,行号:Gw:向后一次移动一个字b:向前一次移动一个字{:按段移动,上移,}:下移x:删除光标后一个字符;X:删除光标前一个字符dd:删除光标所在行;n dd:删除指定的行数d0:删除光标前本行所有内容dw:删除光标开始位置的字u:一步一步撤销U:一次性撤销当前行所有操作ctrl+r原创 2016-05-07 21:34:19 · 210 阅读 · 0 评论 -
20150505结构体
四.结构体定义1.匿名结构体可以锁定变量的数量,可以限定访问变量,如下只可以boss访问该结构体struct { char email[20]; char name[20]; char addr[100]; long long telephone; long long mobile; double price;} boss;2.非匿名结构体可以创建任意个变量原创 2016-06-23 20:32:36 · 274 阅读 · 0 评论 -
20150416指针
一.指针概要与要素1.取地址&在寄存器产生,不占内存,int *p=&a;p是一个变量,要占用内存,间接赋值,存储不同的地址2.地址计算机总线,地址作为常量不消耗内存3.任何类型的指针地址都一样,都是四个字节double *p;printf("%d",sizeof(p)); 占用四个字节printf("%d",sizeof(*p));占用八个字节原创 2016-06-04 13:38:42 · 236 阅读 · 0 评论 -
20150417指针衍生
一.32位系统与64位的差别1.64位的指针8个字节,32位的指针4个字节2.32位系统一个进程最多能占用1800M空间,64位无限制3.栈由编译器维护,自动回收,自动释放,默认为1M,可以手动拓展栈的大小栈,是多线程的,每一个线程都有自己的栈,独立的栈,堆是共享的,多个线程共用原创 2016-06-05 16:42:19 · 249 阅读 · 0 评论 -
20150421、20150422指针数组
一.二级指针1.指针之间不同类型不能相加2.指针的类型很重要,决定指针的长度,解析方式3.指针不能指向数据类型不同的数据4.指针的类型决定了指针从指针的值前进几个字节5.const在*左边,可以改变指向,不能修改所修饰变量的值,const在*的右边,不可改变指向,但可以修改值6.const int * const p 指向和数据都不可原创 2016-06-11 09:19:24 · 246 阅读 · 0 评论 -
20150423函数指针
一.二维数组1.在栈上创建数组一维数组:int *p=(int []){0};二维数组:int (*px)[4]=(int [][4]){0};三维数组:int (*py)[3][4]=(int [][3][4]){0};2.堆上分配二维数组(地址不连续)void main2(){ int **pp = calloc(3, 4);//分配指针数组 for (原创 2016-06-11 12:09:09 · 255 阅读 · 0 评论 -
20150507结构体
一.结构体数组与指针1.结构体数组动态分配内存struct csdn{int id;int num;};void main1x(){int num;scanf("%d", &num);struct csdn *p1 = malloc(sizeof(struct csdn)*num);//堆struct csdn *p2 = alloc原创 2016-06-27 20:20:19 · 251 阅读 · 0 评论 -
20150430memcpy
一.memcpy:内存拷贝原创 2016-06-18 16:10:50 · 248 阅读 · 0 评论 -
20150418多线程、指针与数组、结构体
三.多线程传递参数#include #include #include #include #include void run(void *p) { int *px = p; char str[100] = { 0 }; sprintf(str, "锄禾日当午%d", *px); MessageBoxA(0, str, "天朝很痛苦", 0);}void main原创 2016-06-18 22:47:23 · 380 阅读 · 0 评论 -
20150502管道、字符串
一.管道1.两个进程间通信(管道)#define _CRT_SECURE_NO_WARNINGS#include #include #include void main123() { char str[1024]; gets(str); puts(str); system("pause");}int exeshell(char *cmd,char *resu原创 2016-06-20 21:49:26 · 310 阅读 · 0 评论 -
20150503字符串实战
五.字符串切割1.strtok用法#define _CRT_SECURE_NO_WARNINGS#include #include #include void main1() { char str[100] = "123,re,456,ertr,treter"; char *p = strtok(str, ",");//传递字符串切割 //,替换为\0 print原创 2016-06-23 11:46:34 · 238 阅读 · 0 评论 -
20150414二维数组
五.起名工具1.使用宽字符要引入头文件函数中还需设置:setlocal(LC_ALL,"zh-CN");2.时间生成随机数time_t times;srand((unsigned int)time(×)); //去随机数种子int length=rang()%10;六.数组没有副本机制1.数组没有副本机制,如果有副本机制,两个数组之间拷原创 2016-06-03 12:10:32 · 235 阅读 · 0 评论 -
c++
一.基础知识1.cout :标准输出,黑屏幕,——endl:回车换行2.cin:从键盘输入一个数到指定字符内存3.类是一个数据类型,定义一个类,是一个抽象的概念,不会给类分配内存,当类定义变量的时候才分配内存4.c++中类的成员方法不调用就不会执行,所以也不会分配内存5.c++中struct中可以加public、private修饰变量6.c++中对类型检查更严格,变量和原创 2016-05-21 12:18:51 · 216 阅读 · 0 评论 -
20150329数据类型
一.1.#include 将制定文件拷贝到当前文件,当做文本文件解析2.“” 现在当前目录查找,如果没找到再去系统目录下查找,3.#include既可以在文件开头,也可以在函数中任意位置,任意位置都可以包含其他文件4.main函数可以return也可以不return,如果return,则之后所有代码都不会再执行;》普通函数必须return,如果不ret原创 2016-05-26 18:14:06 · 309 阅读 · 0 评论 -
20150331输入输出printf、scanf
一.cghelloworld用网页输出内容二.printf初步1.printf可以输出到文件,输出到命令行,输出到网页2.sprintf输出到字符串void main() { char input[100] = { 0 }; scanf("%s", input); //输入,初始化input char str[100] = { 0 }; sprintf(s原创 2016-05-26 21:36:41 · 525 阅读 · 0 评论 -
20150401数据类型补充
一.宽字符1.MessageBox:和编译器设置有关,当编译器设置为多字节就为宅字符,unicode为宽字符2.MessageBoxA:A代表调用多字节,宅字符,宅字符结尾只有一个\0,占用一个字节MessageBoxW:W代表宽字符,结尾有两个\0,占用两个字节,使用时需加上L:MessageBoxW(0,L"你好世界",L"你好世界",0);3.原创 2016-05-26 23:13:33 · 225 阅读 · 0 评论 -
cplus学习
一.1.#include 将制定文件拷贝到当前文件,当做文本文件解析2.“” 现在当前目录查找,如果没找到再去系统目录下查找,3.#include既可以在文件开头,也可以在函数中任意位置,任意位置都可以包含其他文件4.main函数可以return也可以不return,如果return,则之后所有代码都不会再执行;》普通函数必须return,如果不return不会报错,但会有垃原创 2016-05-21 21:18:30 · 800 阅读 · 0 评论 -
c提高
cxcx原创 2016-05-13 08:12:18 · 413 阅读 · 0 评论 -
20150403循环语句
二.结构化程序设计1.system("tasklist > c:\\1.txt"); 把进程表以txt文件形式输出到c盘2.keybd_event(0x5b,0,0,0); 按下win键keybd_event(0x5b,0,2,0); 松开win键3.程序实现浏览器搜索京东并打开//open 浏览器//跳到网址//输入 +搜索//点击//关闭浏览原创 2016-05-27 11:10:23 · 344 阅读 · 0 评论 -
20150404循环控制加强
一.线程概念1.使用线程要引入头文件2._beginthread(函数名,0,NULL);例:#include#include//进程void main1(){ for (int i = 0; i < 5;i++) { MessageBoxA(0, "hello", "hacker", 0); //顺序执行 }}void run(void *p)//原创 2016-05-27 20:39:35 · 282 阅读 · 0 评论 -
20150408函数
一.函数意义以及ccpp编辑器调用的差别1.c语言。没有函数声明,有库可以调用,没有函数声明有函数实体可以调用c++语言,没有函数声明,有库不可以调用,没有函数声明有函数实体在后,也不可以调用二.函数调用以及函数基本概念1.每一个应用程序都有函数表,每个表格存储函数地址,改变地址可以改变函数的行为六.函数参数运算顺序1.函数参数从右往左计算七.可原创 2016-05-28 17:45:49 · 239 阅读 · 0 评论 -
20150411数组
二.数组简介1.根据地质取出内容a[i] , *(&a[i]) , *(a+i) //表示意思相同2.数组大小可以静态分配也可以动态分配,gcc可以动态分配,vc编译器不支持静态分配即常规分配,动态分配方式如下:int num=10;scanf("%d",&num);int a[num]={}3.数组名是一个常量,不可以修改,不可以赋值4. char str[5]={原创 2016-05-30 21:10:30 · 319 阅读 · 0 评论 -
20150427堆排序、网页、字符串简介
一.堆与堆排序1.查找最大值最小值,堆排序最快三.字符串概念1.字符串结束必须有\0,不然会出现烫烫烫(字符串数组默认比数组长一个字节,自动加入\0),也可以用putchar输出 char str[5] = { 'a', 'b', 'c', 'd', '\0' }; printf("%s", str);//整体显示必须要有‘\0’ char str1[5] =原创 2016-06-13 22:59:07 · 346 阅读 · 0 评论