- 博客(6)
- 资源 (39)
- 收藏
- 关注
原创 指针和数组参数
作为函数参数的数组名和指针是相等的。之所以要把传递给函数的数组参数转换为指针是出于效率的考虑。在c语言中,所有非数组形式的数据实参均以传值形式调用。然而,不过拷贝整个数组,无论在时间还是在内存上的开销都有可能非常大。而且绝大部分情况下,你其实并不需要整个数组的拷贝,你只想告诉函数在那一时刻对那个特定的数组元素感兴趣。需要牢记的一点是数组名表示数组的第一个元素的地址,它是一个指针常量,所以不能被
2015-02-03 23:42:12 635
原创 《C和指针》笔记
第一个程序是第一章中的例子,第一次使用vim和gcc,花了好长时间才调试好,写完后一直放着没有整理。这里把一些零碎的东西整理一下。这个程序的目的是从标准输入读取文本并对其进行修改,然后把它显示到标准输出。首先读取一行串列标号,这些列标号成对出现,表示输入行的列范围。这串列标号以一个负值结尾。剩余的输入行被程序读入并打印,然后输入行被选中范围的字符串被提取出来并打印。注意,每行第1列的列标号为0
2015-02-03 23:17:32 548
原创 c中变量在栈中的地址
观察下面一段代码,看看c中自动变量在栈中的地址关系:#include void func(int a,int b){ printf("a:%p,b:%p\n",&a,&b);}int main(){ int a=0,b=1; printf("real a:%p,b:%p\n",&a,&b); func(a,b);}上面这段代码先打印main函数的栈中的两个自由变量的地址,
2015-02-03 22:48:50 2156
原创 C中函数指针的用法
理解了C中的声明和指针的话题后再来看函数指针的用法就很容易了。C中函数指针主要有两个用途:1.作为参数传递给另外一个函数(即作为回调函数)2.转换表(jump table)下面分别来介绍作为回调函数的用法和作为转换表的用法1.回调函数在链表的查找中使查找函数与类型无关/*在一个单链表中查找一个指定值的函数。它的参数是一个指向链表第一个节点的指针 * 一个指向我
2015-02-03 21:02:18 1090
原创 双链表操作
处理完了单链表,这次处理双链表。在一个双链表中,每个节点都包含两个指针,指向前一个节点的指针和指向后一个节点的指针。这可以使我们以任何方式遍历双链表,甚至可以忽略前后地在双链表中访问。下面的图示展示了一个双链表:下面是节点类型的声明文件:double_linked_list_node.h#ifndef _DOUBLE_LINKED_LIST#define _DOUBLE_
2015-02-03 17:24:13 844
原创 单链表操作
摘自《C和指针》中关于单链表的描述在单链表中,每个节点包含一个指向链表下一个节点的指针。链表最后一个节点的指针字段的值为NULL,提示链表后面不再有其它节点。在你找到链表的第一个节点后,指针就可以带你访问剩下的所有节点。为了记住链表的起始位置,可以使用一个根指针(root pointer)。根指针指向链表的第一个节点。注意根指针只是一个指针,它不包含任何数据。下面是一张单链表的图:
2015-02-03 15:39:30 976
计算机图形学算法
2014-09-05
TestCameraEye.rar
2014-07-04
GenerateBMP.rar
2014-07-03
PixelColor.rar
2014-07-03
TestPng.rar
2014-07-03
TestCone.rar
2014-07-03
TestCamera
2014-07-03
MFCCompositeViewer.rar
2014-01-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人