浅谈指针(个人笔记)

    int a[10] = {1,24,3,4,5};//其中a是静态申请10个int大小空间的首地址
    int* p;//声明p是指针,并且只能用来指向int型变量
    p = a;//将首地址赋值给指针p

    printf("%d\n", p[0]);
    printf("%xn\n", a);//a实质上是数组空间的首地址,同时呼应了malloc申请地址返回首地址的用法!
    printf("%xn\n", p);
    printf("上面测试了p是存放变量地址的变量!\n");

用意:

a实质上是数组空间的首地址,同时呼应了malloc申请地址返回首地址的用法!

 int a[10] = {1,24,3,4,5};//其中a是静态申请10个int大小空间的首地址
    int* p;//声明p是指针,并且只能用来指向int型变量
    p = a;//将首地址赋值给指针p

    printf("%d\n", *p);
    printf("%d\n", p[0]);
    printf("%d\n", a[0]);
    printf("上面测试了取地址内数据的两种方式:1、*地址 2、地址【i】\n");
    printf("-----------------------\n");

用意:

上面测试了取地址内数据的两种方式:1、*地址 2、地址[i]

    int a[10] = {1,24,3,4,5};//其中a是静态申请10个int大小空间的首地址
    int* p;//声明p是指针,并且只能用来指向int型变量
    p = a;//将首地址赋值给指针p

    printf("%d\n", *p+1);//修改p指针所指空间首地址所存数据的值,加1
    printf("%d\n", p[1]);
    printf("%d\n", (p[1])+1);//修改p指针所指空间首地址偏移1后所存数据的值,加1
    printf("上面测试了修改数据的方法!\n");
    printf("注意区分int*与*,int*中的*与*p中的*含义不同!\n");

用意:

*p+1  :修改p指针所指空间首地址所存数据的值,加1

(p[1])+1  :修改p指针所指空间首地址偏移1后所存数据的值,加1

上面测试了修改数据的方法!

下面将区分  间接寻址符:*  与  取地址运算符:&

    printf("下面将区分  间接寻址符:*  与  取地址运算符:&  \n");
    
    int i = 10;
    int* j;//声明j是指针,并且只能用来指向int型变量
    j = &i;//取int型变量i的地址赋值给int型指针j

    printf("%xn\n", &i);
    printf("%xn\n", j);
    printf("%xn\n", &(*j));//一定程度上,*与&是取反的关系
    //printf("%xn\n", &j);
    printf("%xn\n", *(&j));//一定程度上,*与&是取反的关系

    printf("%d\n", *j);
    printf("%d\n", *(&i));//一定程度上,*与&是取反的关系
    printf("取地址运算符:&  只能用于函数或对象的取地址!\n");
    printf("间接寻址符: *   的操作数(后面跟的参数)必须是指针类型!\n");

用意:

&(*j)  ://一定程度上,*与&是取反的关系

*(&j)  ://一定程度上,*与&是取反的关系

*(&i)  ://一定程度上,*与&是取反的关系

地址运算符:&  只能用于函数或对象地址

间接址符: *   的操作数(后面跟的参数)必须是指针类型 !

补充:注意区分int* p中的*,int* 是一个整体不能分开;*p中的*是间接寻址符。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值