#include <stdio.h>
#include <Windows.h>
/*指针的定义
void main()
{
int a=10,*p,*q,**pt;//**pt:指向指针的指针变量
double d=3.14,*pd;
char c=‘a’,*pc;
pt=&p;
p=&a;//给指针变量赋值
pd=&d;
d=3.14;
c=‘A’;
pc=&c;
printf(“a=%d\n”,a);
printf("*p=%d\n",*p);
printf(“p=%d\n”,p);//求指运算符
printf(“c=%c\n”,c);
printf("*pc=%c\n",*pc);
printf(“pc=%d\n”,pc);
printf(“d=%f\n”,d);
printf("*pd=%f\n",pd);
printf(“p=%d\n”,pd);
printf("**pt=%d\n",**pt);
system(“pause”);
}/
//函数之间地址值的传递
//swap函数
void swap(int *x,int *y)
{
int t;
printf(“2:x=%d,y=%d\n”,x,y);//输出x,y的地址值
t=*x;
*x=*y;
*y=t;
printf(“3:x=%d,y=%d\n”,x,y);//只是交换了指针变量xy它们所指向的值,里面的地址值并未改变
}
void main()
{
int x=3,y=9;
printf(“1:x=%d,y=%d\n”,x,y);
swap(&x,&y);
printf(“4:x=%d,y=%d\n”,x,y);
system(“pause”);
}
/*myadd函数
int myadd(int *a,int *b)
{
int sum;
sum=*a+b;
return sum;
}
void main()
{
int a,b,z;
printf(“please enter two numbers:”);
scanf("%d%d",&a,&b);
z=myadd(&a,&b);//myadd里面的参数是指针变量,所以里面的参数要为地址值
//实参到形参:单向按值传递
printf("%d+%d=%d\n",a,b,z);/
指针基础
最新推荐文章于 2025-06-06 10:06:03 发布