例一:指针与普通变量的关系
#include<stdio.h>
int main()
{
int a,b;//定义两个整数变量
int *p1=&a,*p2=&b;//将a和b的值放在指针中
printf("input a,b:\n");
scanf("%d,%d",p1,p2);//输入两个值
printf("\na=%d b=%d\n*p1=%d *p2=%d",a,b,*p1,*p2);//输出a、b、*p1、*p2的值
printf("\n&a=%x &b=%#x\np1=%#x p2=%#x",&a,&b,p1,p2);//输出&a、&b、p1、p2的值
printf("\n&p1=%#o &p2=%o",&p1,&p2);//输出&p1、&p2的值
}
理解指针变量怎样和数组建立关系的,用指针变量怎样输出数组的值。
例二:指针与数组的关系
#include<stdio.h>
int main()
{
short int a[5]={1,2,8,7,0},i;
short int *a1;
a1=a;
for(i=0;i<5;i++)
printf("*a1=%d,a1=%d,&a[%d]=%d\n",*a1++,a1,i,&a[i]);
}
理解指针变量怎样和数组建立联系的,用指针变量怎么样输出数组的值。
例三:指针与字符数组的关系
理解指针数组怎么样和二维数组建立关系的。
例四:指针与函数的关系
#include<stdio.h>
sp(int *x,int *y)
{
int *t,i;
t=&i;
*t=*x;
*x=*y;
*y=*t;
}
char *fun(char*s)//指针函数
{
while(*s) s++;
return s;
}
int main()
{
int a,b;
char s[20]="good";
a=7;
b=9;
sp(&a,&b);
printf("a=%d b=%d\n",a,b);
printf("%s\n",fun(s)-2);
}
理解指针作为函数参数和指针作为函数返回值的关系。