
c语言
亲休息吧
这个作者很懒,什么都没留下…
展开
-
关于双向链表插入节点的问题
Status ListInsert(DuLinkList L, int i, ElemType e){ DuLinkList p; DuLNode *s; //定义一个链表节点指针 if (i ListLength(L) + 1) return ERROR; p = GetElemP(L原创 2012-09-05 10:38:12 · 3606 阅读 · 0 评论 -
C语言运算符优先级
优先级运算符名称或含义使用形式结合方向说明1[]数组下标数组名[常量表达式]左到右 ()圆括号(表达式)/函数名(形参表) .成员选择(对象)对象.成员名原创 2012-07-26 16:01:15 · 1003 阅读 · 0 评论 -
VC6.0添加PC-LINT工具
1.安装pclint(点击我下载)安装路径比如:d:/lint 配置系统环境变量 在DOS下直接用命令行运行PC-lint,显示如下,表明没有错误。pc-lint安装成功2. 在tool--->customize里面添加pclint外部命令。command里面加入lint-nt.exe的路径arguments: -i"d:/lint" -u std.原创 2013-01-18 21:37:30 · 2236 阅读 · 0 评论 -
##连接字符
#include #define STRUCT(type) typedef struct _tag_##type type;\struct _tag_##typeSTRUCT(Student){ char* name; int id;};int main(){ Student s; s.name = "s"; s.id原创 2012-11-08 19:24:29 · 803 阅读 · 0 评论 -
编写strcpy函数
char* strcpy(char* dst, const char* src){ char* ret = dst; assert(dst&&src); while((*dst++ = *src++) == '\0'); return ret;}注意: 要参数检测原创 2012-12-15 16:28:27 · 946 阅读 · 0 评论 -
双向循环链表基本操作(初始化,插入,删除,清空,销毁,访问前驱,后继等)
#include "stdio.h"#include #define OK 1#define ERROR 0#define OVERFLOW -1#define TRUE 1#define FALSE 0typedef int ElemType;ty原创 2012-11-20 00:19:23 · 9093 阅读 · 1 评论 -
编译器和链接器的工作过程
预编译 处理所有的注释,用空格代替 将所有的#define删除,将所有的宏定义展开 处理条件编译指令#ifdef #elif #else #endif 处理#include,展开被包含的文件 保留编译器需要使用的#pragma预处理指令: gcc -E file.c -o原创 2012-11-12 22:52:49 · 1459 阅读 · 0 评论 -
位域操作符
一、首先说概念:位结构是一种特殊的结构, 在需按位访问一个字节或字的多个位时, 位结构比按位运算符更加方便。 位结构定义的一般形式为: struct 位结构名{ 数据类型 [变量名]: 整型常数; //成员称为“位域”或者“位段” 数据类型 [变量名]: 整型常数; } 位结构变量; 其中: 数据类型必须是整原创 2012-11-08 21:23:07 · 2162 阅读 · 0 评论 -
巧妙使用do……while
int func(int n){ int i = 0; int ret = 0; int *p = (int *)malloc(sizeof(int) * n); do { if(NULL == p) break; if(n < 0) break; for (i = 0; i < n; ++i) { p[i] = i; printf("%d\n",p[i])转载 2012-10-29 20:52:22 · 1271 阅读 · 0 评论 -
顺序循环队列基本操作(入队,出队,清空,销毁,历遍)
#include #include #include #define MAXSIZE 5#define OVERFLOW -1#define OK 1#define TRUE 1#define FALSE 0#define ERROR 1typedef int QElemType;typedef int Status;str原创 2012-10-07 16:06:04 · 29816 阅读 · 4 评论 -
链式队列操作,初始化,入队,出队
#include #include #include #include #define OK 1#define OVERFLOW -1#define TRUE 1#define FALSE 0#define ERROR 0typedef int QElemType;typedef int Status;typedef struct原创 2012-10-02 14:18:18 · 18046 阅读 · 0 评论 -
表达式计算
#include "./stack/stack.h"#includeSElemType Precede(SElemType t1, SElemType t2){ SElemType f; switch(t2) { case '+': case '-': if(t1 == '(' || t1 == '=') f = '<'; else f = '>'; bre原创 2012-09-16 11:07:58 · 1183 阅读 · 0 评论 -
操作系统任务调度问题(华为一上机题,自己写的答案)
#include#include#include#define OVERFLOW -1#define OK 1#define ERROR 0#define FALSE 0#define SYS原创 2012-09-15 22:03:13 · 3038 阅读 · 0 评论 -
栈操作包括入栈,出栈,清空栈,销毁栈等
#include#include#include#define OVERFLOW -1#define STACK_INIT_SIZE 10#define STACKINCREMENT 2#define OK 1#define ERROR 0#define TRUE 1#define FA原创 2012-09-13 22:48:51 · 27132 阅读 · 1 评论 -
数组移动问题
#includevoid shiftleft(int *pInOut, int n){ int i; int tmp; tmp = *pInOut; for (i = 0; i < n - 1; ++i) { *pInOut = *(pInOut + 1); pInOut++; } *pInOut = tmp;}void shiftright(int *pInOu原创 2012-09-24 23:24:17 · 1661 阅读 · 0 评论 -
编写一个strlen函数,不使用变量
#include #include int my_strlen(const char *strDest){ assert(NULL != strDest); return (('\0' != *strDest)? (1 + my_strlen(strDest+1)) : 0);}int main(){ char *p = "12345"; int length = 0;原创 2012-10-01 22:29:14 · 1236 阅读 · 0 评论 -
编写一个函数,检查当前系统是大端模式还是小端模式
#include int CheckSystem(){ union check { int i; char ch; }c; c.i = 1; return (c.ch == 1);}int main(){ int i; if (CheckSystem()) { printf("小端口模式\n"); } else { printf("大端口模式\n原创 2012-10-01 13:48:12 · 2880 阅读 · 1 评论 -
return
char *fun(void){ char str[100]; return str;}str属于局部变量,位于栈内存,在func结束时就被释放,所以返回str将导致错误原创 2012-09-27 21:40:16 · 704 阅读 · 0 评论 -
Source Insight(vs2012,ultraedit) 中Tab键设置为4个空格代替
Source insight中显示TAB符用4个空格代替 Options->Document Options 将 Visible tabs 打勾- Source insight中将输入的TAB符转换为空格: 1. Options->Document Options 将 Expand Tabs 打勾2. TAB符宽度设置, 在TAB width中填入期望数值,一般为4个空格原创 2013-01-19 19:18:46 · 79286 阅读 · 4 评论