c语言
会飞的猪宝宝啊
这个作者很懒,什么都没留下…
展开
-
C语言编程需要注意的64位和32机器的区别
from:http://blog.163.com/tianle_han/blog/s一、数据类型特别是int相关的类型在不同位数机器的平台下长度不同。C99标准并不规定具体数据类型的长度大小,只规定级别。作下比较:(1)16位平台char 1个字节8位short 2个字节16位int 2个字节16位long转载 2017-12-03 00:01:28 · 1034 阅读 · 0 评论 -
二进制位运算
转载http://blog.csdn.net/u012713968/article/details/50481680一,位运算基础位运算(包括与,或,取反,异或,左移,右移等)是程序设计中的一个重要的领域。尤其是安全和底层开发中,除了指针的频繁使用之外,位运算是另一个非常频繁使用的领域。 因此,在求职面试中,位运算也是每年重点考查的知识点。首先,我们有必要复习一下C语言中位运算的一些基础计转载 2017-12-03 20:00:01 · 14339 阅读 · 1 评论 -
动态内存
一.内存分配方式1.在静态存储区域中进行分配:内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。 例如全局变量,static变量2.在栈中进行分配:在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时,这些存储但愿自动被释放。效率很高,但是分配的内存容原创 2017-11-25 23:33:45 · 93 阅读 · 0 评论 -
字符串
自我定义字符串函数一.strcpyvoid Mystrcpy(char *des,const char *src)//复制{ assert(des!=NULL && src!=NULL); if(des==NULL || src==NULL) { return ; } while(*src != '\0') { *des++ = *src++原创 2017-11-25 23:44:06 · 127 阅读 · 0 评论 -
定长顺序表
一个线性表是n个数据元素的有限序列,分为顺序表和链表。顺序表指用一组地址连续的存储单元依次存储线性表的数据元素,即逻辑相邻,物理也相邻;链表指用一组任意的存储单元存储线性表的数据元素,即逻辑相邻物理不相邻。(1)存在唯一的一个被称作“第一个”的数据元素(2)存在唯一的一个被称作“最后一个”的数据元素(3)除第一个外,集合中的每一个数据元素只有一个前驱(4)除最后一个外,集合中的每一原创 2018-02-01 20:35:45 · 103 阅读 · 0 评论 -
不定长顺序表
不定长顺序表和定长顺序表在很多地方都是一样的,只不过采用了动态分配的方式处理数据。具体代码如下:头文件 desqlist.h#pragma once//不定长顺序表#define INIT_SIZE 10 //初始化单元数量typedef struct DSeqList{ int *elem;//指向存储数据的内存 int length;//有效数据个数 int list原创 2018-02-02 17:53:32 · 188 阅读 · 0 评论 -
单链表
单链表是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据。链表中的数据是以结点来表示的,每个结点的构成:数据域+ 指针(指示后继元素存储位置),数据域就是存储数据的存储单元,指针就是连接每个结点的地址数据。结构图如下:头文件list.h#pragma once//带头节点的单链表typedef struct Node{ int data; struct原创 2018-02-02 18:07:57 · 230 阅读 · 0 评论 -
带头节点的循环链表
带头节点的循环链表,循环链表的尾节点指向头节点头文件clist.h#pragma once//带头节点的循环链表//循环链表的尾节点指向头节点typedef struct CNode{ int data;//数据域 struct CNode *next;//指向下一个节点的地址}CNode,*CList;void InitList(CList plist);/原创 2018-02-02 20:49:50 · 5027 阅读 · 0 评论 -
双向链表
双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。它其实就是单链表的基础上加入了前驱指针,能够很方便的访问它的前一个数据节点。和单向链表相比有以下优势: 插入删除不需要移动元素外,可以原地插入删除可以双向遍历头文件dlist.h#pra原创 2018-02-03 12:47:10 · 164 阅读 · 0 评论 -
TCP与UDP编程区别
一、TCP编程流程(1)TCP服务器编程流程:(2)TCP客户端编程流程注意:a. 默认情况下(不改变socket选项)。当你调用close( or closesocket,下面说close不再反复)时。假设发送缓冲中还有数据,TCP会继续把数据发送完。b. 发送了FIN仅仅是表示这端不能继续发送数据(应用层不能再调用send发送),可是还能够接收数据。c. 应用层怎样...原创 2018-11-15 22:25:01 · 351 阅读 · 0 评论 -
scanf返回值
scanf 函数返回值问题scanf函数同printf函数一样是有返回值的,可以分成三种情况 (1) 正整数,表示正确输入参数的个数。例如执行 scanf("%d %d", &a, &b); 如果用户输入"1 2",可以正确输入,返回2(正确输入了两个变量); 如果用户输入"1,2",可以正确输入a,无法输入b,返回1(正确输入了一个变量)。 (2)原创 2017-12-02 00:04:06 · 377 阅读 · 0 评论 -
杨辉三角
原创 2017-12-01 23:57:27 · 133 阅读 · 0 评论 -
递归法
原创 2017-12-01 23:43:23 · 154 阅读 · 0 评论 -
循环结构
原创 2017-10-24 14:41:58 · 161 阅读 · 0 评论 -
指针加减法
原创 2017-10-23 23:35:45 · 379 阅读 · 0 评论 -
结构体
原创 2017-11-21 16:28:00 · 102 阅读 · 0 评论 -
时间复杂度
原创 2017-11-21 16:37:40 · 153 阅读 · 0 评论 -
进制
原创 2017-12-01 23:20:48 · 124 阅读 · 0 评论 -
inline与static
inline函数inline函数的目的是解决程序中函数调用的效率问题,也是用内联取代了宏定义(函数传参比宏方便)inline只是一种对编译器的建议请求,能阻止这样建议的条件: a.循环语句switch/goto b.递归函数 c.含static函数inline在类体中和类外定义成员函数是有区别的,在类体定义的成员函数为inline函数,在类外定义的不是。 a.如...原创 2018-11-15 00:09:28 · 1560 阅读 · 0 评论