摘要:链表是一种常见的重要的数据结构。它是动态地进行存储分配的一种结构。 链表有一个 "头指针" 变量,它存放一个地址,该地址指向一个元素。链表中每一个元素称为 "结点" ,每一个结点都应包括两部分:用户需要用的实际数据和下一个结点的地址。可以看出,"头指针" 指向第一个元素;第一个元素指向第二个元素...知道最后一个元素,该元素不再指向其他元素,它称为 "表尾",它的地址部分放一个 "NULL"(表示"空地址"),链表到此结束。 在静态链表中,即所有结点都是在程序中定义的,不是临
阅读全文
摘要:1.多维数组元素的地址 关于这个我只是想说:骑白马的不一定是白马王子,还有可能是唐僧。 搞清多维数组的地址表示是最基本的,例如一个3*4的多维数组 a[3][4]={{1,3,5,7},{2,4,6,8},{9,11,13,15}}; 显然 a 是一个数组名,首先 a 中的一级元素并不是具体的数,而是3个一维数组( 即3行 a[0] , a[1] , a[2] )这三个元素每一个下面又包括 4 个元素 a[0][0],a[0][1],a[0][2],a[0][3];即二维数组是 " 数组的数组 ",即二维数组 a 是由3个一维数组组成的。 从2二维数组的角度来看 a 代表二
阅读全文
摘要:一个函数可以返回一个整形值、字符值、实型值等,也可以返回指针型的数据,即地址。 这种返回指针值的函数,一般定义形式为 类型名 * 函数名 ( 参数列表 ) 例如 int *a( int x,int y); a 是函数名,调用它以后能得到一个指向整形数据的指针(地址)。( ) 的优先级高于 * 所以a(int x,int y)是函数,前面加个 *,表示此函数是指针型函数(函数值是指针)。最前面的 int 表示返回的指针指向整形变量。 例:有若干学生的成绩(每个学生有4门成绩),要求在用户在输入学生序号以后,能输出该学生的全部成绩。用指针函数来实现。 1 #include <stdio.h&
阅读全文
摘要:(一) 用函数指针变量调用函数 可以用指针变量指向整形变量、字符串、数组、结构体、也可以指向一个函数。一个函数在编译时被分配一个入口地址。这个入口地址就称为函数指针。可以用一个指针变量指向函数,然后通过该指针变量调用此函数。用简单的数值比较为例: 1 #include <stdio.h> 2 #include <stdlib.h> 3 4 int main() 5 { 6 int max(int,int); 7 int (*p)(int,int); 8 int a,b,c; 9 p = max;10 scanf("%d,%d",&a,&
阅读全文
摘要:一个 C 程序可由一个主函数和若干其他函数构成。由主函数调用其它函数,其它函数也可以相互调用。同一个函数可以被一个或多个函数调用任意多次。
阅读全文
摘要:C语言不允许对数组的大小作动态定义,即数组的大小不依赖于程序运行过程中变量的值。例如: int n; scanf("%d",&n); /*在程序中临时输入数组大小*/ int a[n]; 这样肯定是不行的。 二维或则是多维数组在内存中是按顺序存放的。 字符串处理函数 1,puts 函数 2,gets 函数 3,strcat 函数是string catenate(字符串连接),连接两个字符数组中的字符串,把字符串2接到字符串1的后面,结果放在字符数组1中,函数调用后得到一个函数值——字符数组1的地址。 4,strcpy 和 strncpy 函数 字符串复制 5,str
阅读全文