07 2013 档案

摘要:先看例子,例1:定义链表//定义链表 struct stu { int name; int age; struct stu *next; }; 用一组地址任意的存储单元存放线性表中的数据元素。:以元素(数据元素的映象) + 指针(指示后继元素存储位置)= 结点(表示数据元素 或 数据元素的映象)不得不说百度解释的太官方了。1.含义:多组不同类型的数的组合(数组存储是不连续的)2.组成: 表头+结点+表尾结点=数据域+指针域表头:只有指针域 表尾:只有数据域以前老师讲的还是不错的,影响深刻,不过好像还是有点云里雾里。LZ所理解的链表1.链表就是一系列结构体2.这个结构体有一个特... 阅读全文
posted @ 2013-07-26 21:36 tengzi 阅读(2889) 评论(0) 推荐(1)
摘要:malloc的全称是memory allocation,中文叫动态内存分配,用于向系统申请分配指定字节的内存空间原型:extern void *malloc(unsigned int num_bytes);看原型很头疼,来两个例子:int* p; p = (int *) malloc (sizeof(int)*128);//分配128个整型存储单元double *pd=(double *) malloc (sizeof(double)*12);//分配12个double型存储单元通过这2个声明可以看出malloc的用法:又是指针。malloc函数返回值类型为void *,但void* 类型可以 阅读全文
posted @ 2013-07-25 23:32 tengzi 阅读(4270) 评论(7) 推荐(1)
摘要:先看函数指针int func2(int x); /* 声明一个函数 */int (*q2) (int x); /* 声明一个函数指针 */q2=func2; /* 将func函数的首地址赋给指针f */int c=(*q2)(3); //3可以为任意实参上面4句基本说明了函数指针的用法:函数指针是指向函数的指针,确切的说,是指向特定类型函数的指针(函数与函数指针 类型要匹配)函数指针用来保存函数首地址,即可以通过该指针访问函数。函数指针相当于取别名。函数指针可以指向一类函数,而不是一个函数,即可以重新赋值。(见例2)函数指针不难,只要记住上面黑体字就差不多了,附上两个简... 阅读全文
posted @ 2013-07-24 23:58 tengzi 阅读(8623) 评论(6) 推荐(2)
摘要:int *a[4]; //指针数组指针数组就相当于一次声明了多个指针。数组的每一个元素都是一个指针。很好理解,下面主要看数组指针int (*p)[4]; //数组指针数组指针就相当于一次声明了一个指针。只不过这个指针指向很特别,是一个数组。[]优先级大于*,故数组指针声明时要加()。例1:#incl... 阅读全文
posted @ 2013-07-22 22:43 tengzi 阅读(21394) 评论(10) 推荐(2)
摘要:功能:输入一个字符串,判断是否为回文。主要锻炼指针的用法。1.C版#includeint main(){ char he[100]; char a; int i=0,flag=1; while((a=getchar())!='\n') { he[i]=a; i++; } int n=i; for(i=0;i#includeusing namespace std;int main(void){ char *p="abcba"; int n=strlen(p); bool flag=1; int i... 阅读全文
posted @ 2013-07-20 18:10 tengzi 阅读(13365) 评论(1) 推荐(0)
摘要:1.字符串数组,字符串指针可以直接输出char s2[30]="I am a student";coutvoid main(){ int c=sizeof(char);//1 int i=sizeof(int);//4 int l=sizeof(long);//4 int d=sizeof(double);//8 int p=sizeof(int *);//4 int q=sizeof(char *);//4 printf("%d\t%d\n",c,i); printf("%d\t%d\n",l,d); printf("%d 阅读全文
posted @ 2013-07-20 17:41 tengzi 阅读(790) 评论(9) 推荐(0)
摘要:最近遇到一个问题,需要通过一个函数返回多个值。无奈C,C++不能返回多个值。所以就想有什么方法可以解决。网上方法比较杂乱,一般有两种替代做法:1. 利用函数的副作用, 返回值在函数外定义, 在函数内修改, 一般为void函数。例1.1输入x,y求修改后的x,y 1 #include 2 using namespace std; 3 void swap(int *p,int *q) 4 { 5 int temp; 6 temp=*p; 7 *p=*q; 8 *q=temp; 9 }10 int main()11 {12 int a,b;13 cin>>a>>b;1... 阅读全文
posted @ 2013-07-20 16:32 tengzi 阅读(16812) 评论(8) 推荐(0)