C语言指针有关笔记(2019-10-11)

C语言指针有关笔记(2019-10-11)

#include <stdio.h>
int main()
{
int a = 10;
int *b = &a; //b是指针型变量
int **c = &b; //c是指针的指针
    
    printf("声明部分: \n");
    printf("int a = 10; \n");
    printf("int *b = &a; \n");
    printf("int **c = &b;  \n");

    printf("输出部分: \n");
    printf("a-->  %-2d\n",a);   //打印的是a的值内容
    printf("&a--> %-2x\n",&a);  //打印的值a的地址
    printf("b-->  %-2x\n",b);   //打印的指针变量b的值,其值的内容为一个地址,实际为a变量的地址即&a
    printf("*b--> %-2d\n",*b);  //打印的是指针变量b的值所指向内存地址里面的内容,实际为a的值
    printf("&b--> %-2x\n",&b);  //打印的是指针变量b,这个变量本身的地址
    printf("c-->  %-2x\n",c);   //打印的是指针变量c的值,其值的内容实际为指针变量b本身的地址即&b
    printf("*c--> %-2x\n",*c);  //打印的是指针变量c指向内存地址里面的内容,实际为指针变量b的值
    printf("**c-> %-2d\n",**c); //打印的是指针变量c里面的指针(指针b)内容所指向的地址的内容,实际为*b的值
}



总结:


指针b(存储a变量的地址,跟变量地址打交道)
指针c(存储指针变量b的地址并不是b的值,跟指针变量地址打交道)
*c只是获取了里层指针变量b的值内容,这里只是获取指针的内容
**c才可以将里层指针变量b的值内容指向的变量内容挖出来,这里获取的是变量的内容
下面星号的操作是为了取值
对于**c可以将它分解为*(*c)
第一次先做括号里面的(*c),此时相当于提取到了b
第二次再做*b,此时就获取到了a

在这里插入图片描述

在这里插入图片描述

另外在上面基础上做了一个 “*p = 100;”的操作,见下示例以及输出图,
可以与第一张图的输出做个比较。
指针变量p,以及在将100这个数值赋值给"*p"后,其余变量的值都发生了改变,这种就是通过指针间接的把相关变量的值改变的一种方式。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C语言是一种广泛应用于计算机科学和软件开发的编程语言。它具有强大的功能和灵活性,适用于开发各种类型的应用程序。 C语言专题精讲篇是一个对C语言进行深入学习和讲解的系列文章或课程。它汇总了C语言相关的重要知识点和技巧,旨在帮助学习者更好地理解和运用C语言。 这个专题中的笔记涵盖了C语言的各个方面,包括基本语法、数据类型、运算符、流程控制、函数、数组、指针、结构体、文件操作等。通过系统性的学习和总结,这些笔记可以帮助学习者逐步掌握C语言的核心概念和常用技巧。 在这个专题中,学习者可以学到如何编写简单的C程序,如何使用变量和运算符进行计算,如何使用条件和循环语句控制程序流程,如何使用函数进行代码的模块化,如何使用数组和指针进行数据的处理,如何使用结构体组织复杂数据,如何进行文件的读写等等。 C语言专题精讲篇的目的是帮助学习者全面、深入地了解C语言的各个方面,并能够独立编写和调试简单到中等难度的C程序。通过反复实践和练习,学习者可以逐渐提高自己的编程能力,并为进一步学习更高级的编程语言打下坚实的基础。 总之,C语言专题精讲篇的笔记汇总是一份重要的学习资料,可以帮助学习者系统地学习和掌握C语言的基础知识和常用技巧,为他们未来的编程之路打下坚实的基石。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值