上课心得1 指针

指针


指针:一个指针是一个地址,是一个常量。而一个指针变量却可以被赋予不同的指针值,是变量。但常把指针变量简称为指针。为了避免混淆,我们约定:“指针”是指地址,是常量,“指针变量”是指取值为地址的变量。定义取值为地址的变量。定义指针的目的是为了通过指针去访问内存单元。


对于指针变量的定义包括三个内容:

(1).指针类型说明,即定义变量为一个指针变量

(2).指针变量名

(3).变量值(指针)所指向的变量的数据类型

类型说明符*指针名=&变量名;

例如:

void main(void){

    int i=20,j=100;

    int *p1=&i,*p2=&j;//将p1指向i储存地址,p2指向j储存地址

    printf("*p1=%d,*p2=%d\n",*p1,*p2);//*p1=20,*p2=100

    i=30;//修改i的值,i对应的内存地址中的数据被修改

    printf("*p1=%d,*p2=%d\n",*p1,*p2);//*p1=30,*p2=100

    p2=p1;//将指针p2指向指针p1指向的内存地址

    printf("*p1=%d,*p2=%d\n",*p1,*p2);//*p1=30,*p2=30

    i=50;//修改i的值,i对应的内存地址中的数据被修改

    printf("*p1=%d,*p2=%d\n",*p1,*p2);//*p1=50,*p2=50

}


函数的参数不仅可以是整型,实型,字符型等数据还可以是指针类型。它的作用是将一个变量的地址传送到另一个函数中。例如:

swap(int *p1,int *p2){

    int temp=*p1;

    *p1=*p2;

    *p2=temp;

}

void main(void){

    int a,b;

    scanf("%d %d",&a,&b);

    swap(&a,&b);

    printf("%d %d\n",a,b);

}



指针可以指向基本类型,也可以指向复合类型,因此也可以指向另外一个指针变量,称为指向指针的指针.

void main(){

    int i=10;

    int *p=&i;

    printf("%d\n",*p);//10

    int **pp=&p;

    printf("%d\n",*pp);//10

}


本片文章由本人原创或转载,侵删。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值