指针的概念

今天又开始了新的篇章,开始学习指针,今天只是初步讲了一下指针的定义和运用:*  这个符号是取地址上的数据,*p是取值,%p是取地址的符号,然后是一些定义   *(&sum)=sum     还有一个(*p)++   这个在程序中运行结果是它的值加1;*p++   这个是地址增加  字节增加  比如int  结果是加4   double是加8       *p+n=a[n]这个也是今天的一个重点     另外还有一个初始化的重点   指针变量初始化的方法:int a=10;int *p=&a;

还有今天也讲了变量的问题   定义指针变量的一般形式为:类型*变量名    为了表示指针变量和它所指向的变量之间的关系,在程序中用*符号表示“指向”,例如,i_pointer代表指针变量,而*i_pointer是i_pointer所指向的变量。因此,下面两个语句作用相同:i=3;*i_pointer=3;第2个语句的含义是将3赋给指针变量i_pointer所指向的变量。

设有指向整型变量的指针变量p,如要把整型变量 a 的地址赋予p可以有以下两种方式。1) 指针变量初始化的方法:int a=10;int *p=&a;    2) 赋值语句的方法:int a=10;int *p;p=&a;

不允许把一个数字直接赋予指针变量,故下面的赋值是错误的:int *p;p=1000;


指针使用举例:

   
   
  1. #include <stdio.h>
  2. int main(){
  3. int a=100, b=10;
  4. int *pointer_1, *pointer_2;
  5. pointer_1 = &a;
  6. pointer_2 = &b;
  7. printf("%d, %d\n", a, b);
  8. printf("%d, %d\n", *pointer_1, *pointer_2);
  9. return 0;
  10. }
运行结果:
100, 10
100, 10



【示例】输入a和b两个整数,按先大后小的顺序输出。

   
   
  1. #include <stdio.h>
  2. int main(){
  3. int *max, *min,*tmp, a, b;
  4. scanf("%d, %d",&a, &b);
  5. max = &a;
  6. min = &b;
  7. if(*max < *min){
  8. // 交换指针变量的值,tmp 为临时变量
  9. tmp = max;
  10. max = min;
  11. min = tmp;
  12. }
  13. printf("a=%d, b=%d\n", a, b);
  14. printf("max=%d, min=%d\n", *max, *min);
  15. return 0;
  16. }
运行结果:
10, 20↙
a=10, b=20
max=20, min=10

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值