摘要: C语言typedef定义结构体数组,下面这段代码是什么意思? typedef struct vexnode{ int vertex; arcnode* firstarc;}adjlist[Vnum];typedef不是去个别明吗?struct vexnode的别名是一个数组?我觉得他的本意是定义一个 阅读全文
posted @ 2013-08-10 16:25 创新突破游子恒心 阅读(1099) 评论(0) 推荐(0) 编辑
摘要: #include #include struct student{ char name[10]; int age;};typedef struct student Item; struct node{ Item item; struct node *next;};typedef struct n... 阅读全文
posted @ 2013-07-25 15:33 创新突破游子恒心 阅读(588) 评论(0) 推荐(0) 编辑
摘要: #include #include //设计一个队列的类型typedef int Item;struct queue{ Item * head; Item * tail; int lenth; int size;};void deletes(struct queue *que);void insert(struct queue *que,Item k);void prin(struct queue* que);Item * add;int main(void){ //initialize the queue int arr[5]; Item n[5]={1,2,3,4,5}; Item a=1 阅读全文
posted @ 2013-07-24 22:20 创新突破游子恒心 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 悬空指针在C/C++等语言中,悬空指针(Dangling Pointer)指的是:一个指针的指向对象已被删除,那么就成了悬空指针。野指针是那些未初始化的指针。例如:int main(){char*dp = NULL;for(i=0;i<1;i++) {char c;dp =&c;}/* 注意c的声明周期 ,c属于自动存储类的变量,c变量具有自动存储时期,代码块作用域,空连接三个特征,自动存储时期指:在程序进入定义c变量的代码块时,将为这些变量分配内存;当退出这个代码块时,分配的内存将被释放。因此,程序运行离开了c变量的作用域,c数据对象会销毁,而dp还存储了已经不存在的c数据对象 阅读全文
posted @ 2013-06-20 12:32 创新突破游子恒心 阅读(380) 评论(0) 推荐(0) 编辑
摘要: NULL字符在ASCII码的第一个字符是NULL,它的数值是0,占用1字节;C语言把它作为字符串的最后一个字符,以表示字符串到此结束."\0"NULL指针在C语言的头文件stddef.h中,NULL的定义如下:#define NULL#define __cplusplus#define NULL 0#else#define NULL ((void *)0)#endif#endif#interface NULL 0可见,NULL指针是一个无类型指针,并且值为0。一个指针,拥有2个属性--地址值和指针类型。两者的作用是:1,地址值标识变量的首地址(32位系统下指针的地址值占4字 阅读全文
posted @ 2013-06-20 12:06 创新突破游子恒心 阅读(693) 评论(0) 推荐(0) 编辑
摘要: 情况一:具有代码块作用于的变量#include <stdio.h>void max(int i );int main(void){ for( int i=0;i<10;i++) { int b=0; continue; } //c99把代码块的概念扩大到for循环.while循环.do while循环或者if语句所控制的代码 //即是这些代码没有用花括号括起来。因此在签署for循环中的变量i被认为是for循环代码块中的 //一部分。这样它的作用域就限于这个for循环,程序离开for循环后就不能看见变量i了。 //但是这里不是不是c99的代码块的概念。所以变量i的作用域是从i定 阅读全文
posted @ 2013-06-06 21:54 创新突破游子恒心 阅读(162) 评论(0) 推荐(0) 编辑
摘要: ReaStack.cpp 1 #ifndef SQSTACK_H_H 2 #define SQSTACK_H_H 3 /* SqStack.h 栈的顺序存储表示 */ 4 #define STACK_INIT_SIZE 10 /* 存储空间初始分配量 */ 5 #define STACK_INCREMENT 2 /* 存储空间分配增量 */ 6 7 /* 用户自定义SElemType 栈元素类型*/ 8 typedef int SElemType; 9 10 /* 用户自定义SElemType 栈元素类型*/11 12 typedef struct SqStack13 {14 ... 阅读全文
posted @ 2013-05-24 21:08 创新突破游子恒心 阅读(469) 评论(0) 推荐(0) 编辑
摘要: /*折半查找(二分查找)解题步骤:1.将有序表(升序)存储在数组中。2.定义三个指针low,high,mid。起初指针low指向了数组的首元素,指针high指向数组的最后一个元素,指针mid指向low+(high-low)/2元素的地址。下述分析情况:0,1,2,3,4,5,6,7,8,9,10 奇数个数的情况: m所指向的元素的两边的元素相等l m hh-1/2=5l+5=50,1,2,3,4,5,6,7,8,9 偶数个数的情况:m所指向的元素的右边的元素的个数比左边的元素的个数多一个l m hh-l/2=4;l+4=43.将mi... 阅读全文
posted @ 2013-05-07 22:13 创新突破游子恒心 阅读(315) 评论(0) 推荐(0) 编辑
摘要: #include <stdio.h>#define MAX 10#define LEN 4typedef struct { int id; char name[MAX];}STU;//语句1 typedef struct { STU * elem; int length;}SSTable; STU * search(STU * ptr,int size,int id);//语句2//语句2应该在语句1之前因为语句2使用了STU.int search_seq(SSTable st,int id);int main(void){ STU stu[LEN]={{0,"" 阅读全文
posted @ 2013-05-07 20:32 创新突破游子恒心 阅读(118) 评论(0) 推荐(0) 编辑
摘要: int div(double *start,double *end) { double *privot,*p,*q,t; p=start; q=end-1; privot=start; if(start==end) return 0; while(p*privot) { t=*p; *p=*privot; *privot=t; privot=p; q--; break; } p++; } } div(start,privot); div(privot+1,end);}快速排序 题目:为数... 阅读全文
posted @ 2013-04-27 12:36 创新突破游子恒心 阅读(147) 评论(0) 推荐(0) 编辑