1、新建一个工程和.c文件 ,输入头文件和主函数。
2、然后开始定义变量类型。
3、输入a和b两个整数。
4、对a和b两个不同的整数进行赋值。
5、然后通过if语句实现值大小的比较。
6、输出最后的结果。
7、编译、运行,可以看见按先小后大的顺序输出a和b。
#include<iostream>
using namespace std;
int main()
{
int *p1,*p2,*p; //p也是指针变量。
int a,b;
cout<<"请输入两个整数:"<<endl;
cin>>a>>b;
p1=&a;
p2=&b;
if(a<b)
{
p=p1;//将p1和p2的指向互换。
p1=p2;
p2=p;
}
cout<<"a="<<a<<" "
<<"b="<<b
<<endl;
cout<<"max="<<*p1<<" "
<<"min="<<*p2
<<endl;
return 0;
}
运行效果:
1、定义指针变量的一般形式如下:
类型名*指针变量名1,*指针变量名2,...*指针变量名n;
2、空指针
空指针是一个特殊的指针,它的值是0,C语言中用符号常量NULL(在stdio.h中定义)表示这个空值,并保证这个值不会是任何变量的地址。空指针对任何指针类型赋值都是合法的。一个指针变量具有空指针值表示当前它没有指向任何有意义的东西。
3、void指针
(void*)类型的指针叫通用指针,可以指向任何的变量,C语言允许直接把任何变量的地址作为指针赋给通用指针。但是需要注意void*不能指向由const修饰的变量。
例如:const int test;void*ptv;ptv=&test;第三句是非法的,只有将ptv声明为const void*ptv;,上述第三句ptv=&test才是合法的。
当需要使用通用指针所指的数据参加运算时,需要写出类型强制转换。如通用指针ptv所指空间的数据是整型数据,p是整型指针,用此式转换:p=(int*)ptv;
本回答被网友采纳#include <stdio.h>
int main()
{
int *p1,*p2,*p;
scanf("%d %d",&a,&b);
int a=2,b=5;
p1=&a;
p2=&b;
if(a<b)
{
p=p1; //将p1和p2的指向互换。
p1=p2;
p2=p;
}
printf("%d %d\n",*p2,*p1);
return 0;
}
扩展资料:
两个地方要注意:
1、在程序声明变量的时候的*,只是表明“它是一个无符号整数,这个整数指向某个内存地址,一次访问sizeof(type)长度”。这点不要和(*)操作符混淆;
2、在C++程序声明变量的时候的&,只是表明“它是一个引用,这个引用声明时不开辟新空间,它在内存分配表加入新的一行,该行内存地址等于和调用时传入的对应参数内存地址”。
参考资料:
本回答被网友采纳