|

楼主 |
发表于 2005-3-31 02:09:19
|
显示全部楼层
前几天看完啦折大的c因为忙于看数据结构就忘啦点评完.下面接着点评
4 Z3 D9 e/ ^- T( |2 c6 b7 X对于指针课程分的很详细讲有下面的例子是指针数组
. Q& N' b _' |: S#include<stdio.h>
! l9 j) E$ e" g! Q' ovoid main()
! Z3 o/ \& W; r2 o0 D{
- l9 F$ X* U7 u& ]char *name[4]={"wang","li","zhao",jin"};. \( t5 m) {6 y% |( i' D
char **pp;
5 Y5 n( |8 P# g: H4 \2 Vfor(pp=name;pp<name+4;pp++)- W6 D( ?! P+ H3 F
printf("%c",**pp+1);* L# ]7 Y4 S. K
}
6 b# ^8 @2 |0 {) L' i6 f但我唯一觉得不足的是数组指针的例子太少可能和课时太少有关吧!对于链表我认为是讲的最好的部分在该课程中从算法到流程及最后的程序书写下面给出链表的一个例子:1 ?7 t! y7 Z8 E. @+ _
#include "stdio.h"! r) Z5 H- _6 `# b9 c) }
struct student{9 N4 F" T8 t, k" c5 y2 S" I& U
int num;: e& ?, \. y' K, |
float score;7 C* e# i4 V. c9 d1 W6 n3 n
struct student *next;
; ~3 s# k) R" r' e3 c};
4 p0 N9 r" }, `struct student *creat();
0 q6 ~/ {9 \) z- |main()" K) u3 f: y- L: x7 k
{
+ k! i% _+ O6 S. r! Kstruct student *head;
4 \5 ^" V2 a; @! L/ k. F1 bhead=creat();! C$ @) y2 V0 ]9 J# T+ S- m
}: G+ @6 G8 c- |9 v5 T
struct student *creat()& P" W X: G2 e! {1 S. W
{struct student *head,*tail,*p;float score;' ~5 e/ ~# s j
int num,size=sizeof(struct student);0 d# i7 O: V+ E
head=tail=NULL;
6 S( h! Z! k5 v Q7 t# f7 K& Mscanf(%d%f",&num,&score);
3 ]# e6 Z5 k5 d! y' |# Fwhile(num){
$ X e' a2 A) ?! Hp=(stuct student *)malloc(size);
; g# h/ G! V, F! `1 n7 u+ Qp->num=num;p->score=score;
+ V! R* K6 o8 [( N5 _2 Q: Pp->next=NULL;, ]# M+ N; B) r% F3 M$ o
if(head==NULL)head=p;* n* G* R4 g0 c! x- ~# K& {
else tail->next=p;
6 k8 {/ U, m4 e8 l* W! z; e6 Ztail=p;" b: Q. Q+ \1 X: y+ I4 Z, }2 u6 w
scanf("%d%f",&num,&score);
, I' [7 y" w+ h6 l# W) F6 X}2 L& w+ m* t+ ]
return head;}% U( N% w2 m, e( A% |: v
联合就没讲,这里是因为课时的关系就没讲可惜啊!
; H0 }" @1 Q$ G d8 Y; V/ b3 ^: T1 B总之该课程讲到之处都是经典的值得在一次学习. |
|