int *p=NULL;
谭浩强 C 语言程序设计 2001 年 5 月 1 日
对指针变量赋 0 值和不赋值是不同的。指针变量未赋值时,可以是任意值,是
不能使用的。否则将造成意外错误。而指针变量赋 0 值后,则可以使用,只是它不
指向具体的变量而已。
【例 10。7】
main(){
int a=10;b=20;s;t;*pa;*pb; /*说明 pa;pb 为整型指针变量*/
pa=&a; /*给指针变量 pa 赋值,pa 指向变量 a*/
pb=&b; /*给指针变量 pb 赋值,pb 指向变量 b*/
s=*pa+*pb; /*求 a+b 之和;(*pa 就是 a;*pb 就是 b)*/
t=*pa**pb; /*本行是求 a*b 之积*/
printf(〃a=%dnb=%dna+b=%dna*b=%dn〃;a;b;a+b;a*b);
printf(〃s=%dnt=%dn〃;s;t);
}
【例 10。8】
main(){
int a;b;c;*pmax;*pmin; /*pmax;pmin 为整型指针变量*/
printf(〃input three numbers:n〃); /*输入提示*/
scanf(〃%d%d%d〃;&a;&b;&c); /*输入三个数字*/
if(a》b){ /*如果第一个数字大于第二个数字...*/
pmax=&a; /*指针变量赋值*/
pmin=&b;} /*指针变量赋值*/
else{
pmax=&b; /*指针变量赋值*/
pmin=&a;} /*指针变量赋值*/
if(c》*pmax) pmax=&c; /*判断并赋值*/
if(c