1.在函数中有形式参数和实际参数,它们有什么联系?
nt max(int a, int b) { 函数体...; a...; b...; } 此处的a,b就是形式参数,形参的作用域只在函数max内有效,max外不识别,在函数运行的时候并不给形式参数分配内存; 当我们在其他函数中(如main函数)调用max函数时,如 result = max(x, y); 此处的x,y就是实际参数,运行的时候将x的值传递给a,y的值传递给b,系统需要给x,y分配内存地址,其作用域范围为调用函数中。2.数组指针和指针数组的概念和区别
指针数组是指数组里的元素是指针,比如char *a[2];a[0]和a[1]是一个char *类型的变量; 数组指针是说这个指针指向一个数组,比如char (*a)[2],注意括号不能少,这就代表说a是一个指针,它指向一个数组,数组的大小是2,数组的元素是char类型的。
a.单项链表:单向链表包含两个域,一个是信息域,一个是指针域。也就是单向链表的节点被分成两部分,一部分是保存或显示关于节点的信息,第二部分存储下一个节点的地址,而最后一个节点则指向一个空值。3. 链表的概念,单向链表、双向链表、循环链表的结构。
概念:
链表是线性表的一种,所谓的线性表包含顺序线性表和链表,顺序线性表是用数组实现的,在内存中有顺序排列,通过改变数组大小实现。而链表不是用顺序实现的,用指针实现,在内存中不连续。意思就是说,链表就是将一系列不连续的内存联系起来,将那种碎片内存进行合理的利用,解决空间的问题。
所以,链表允许插入和删除表上任意位置上的节点,但是不允许随即存取。链表有很多种不同的类型:单向链表、双向链表及循环链表。
b.双向链表:每个节点有2个链接,一个是指向前一个节点(当此链接为第一个链接时,指向的是空值或空列表),另一个则指向后一个节点(当此链接为最后一个链接时,指向的是空值或空列表)。意思就是说双向链表有2个指针,一个是指向前一个节点的指针,另一个则指向后一个节点的指针。
c.循环链表:环链表就是首节点和末节点被连接在一起。循环链表中第一个节点之前就是最后一个节点,反之亦然