任务代码:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a=3,b=5,*p1,*p2,*p;
p1=&a;
p2=&b;
if(a<b)
{
p=p1;
p1=p2;
p2=p;
}
printf("%d %d\n",*p1,*p2);
printf("%d %d\n",a,b);
return 0;
}
执行情况:
知识总结:
回顾:
变量三要素:
变量名,变量值,存储空间;
不同的变量名有不同的存储空间
指针变量:如果一个变量专门用来存放另一变量地址(及指针),则它被成为指针变量;
指针变量表示:数据类型+*p
内存单元的存取和访问:(直接访问和间接访问)
指针运算相关的预算符号:
*
&
两个符号的优先级是相同的;但是结合方式是从右边到左边;
int *p=NULL;NULL是个特殊常量叫空指针;
在32位操作平台当中,一个指针变量分配4字节存储单元~
心得体会:
使用指针运算符的两个禁忌
第一:不能对为赋值的变量做指针运算;(野指针)
指针存储的事地址不能人为负值指向未知的地址!
第二:不能是用存储单元已经有的变量名