C语言——指针相关概念理解

程序举例:

      概念:指针、指针变量、地址

      指针:一个地址,指针就是地址

      指针变量:存放要操作的目标单元地址

 

例子:抽屉A,抽屉A里面存放这一个字母,这个抽屉里面的字母对应另外一个抽屉。

           此致A这个符号可以称为地址,也就是指针,而A里面的字母称为指针变量。

           int  *a;  a为指针变量,改变a就能改变指针所指向的单元,所以a赋值内容为地址,即a=&b(意思就是指针指向了b地址这个单元)。此时*a等同于b(这种等同是当抽屉里面里面存放了b这个地址才等同)。  

 

下面拿个程序来举例 :

#include <stdio.h>
void swap(int *pa,int *pb);
int main(void)
{

    int a=5;               //在内存中分配一个随机的地址空间,把这个地址名字命名为a,即通过a可以找到这个随机的地址空间。   

    int b=6;
    printf("a=%d,b=%d\n",a,b);    
    swap(&a,&b);             //传参,&a:a的地址
    printf("a=%d,b=%d\n",a,b);
    return 0;
}

void swap(int *pa,int *pb)
{
   int t= *pa;     //此刻的*pa就等同于a,*pb就等同于b
  *pa=*pb;
  *pb=t;
}

ps:int *pa=&a 其实是两个语句 等价于 int *pa; pa=&a。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值