| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> C++知识库 -> C语言学习之指针这一概念的理解 -> 正文阅读 |
|
[C++知识库]C语言学习之指针这一概念的理解 |
要想成为c语言高手,指针必须拿捏。 本文主要讲讲我对指针的理解,如有错误,欢迎指正,不胜感激! 先把结论打出来: ? ? ? ? ? ? 通过指针这种方式 指向一个地址 对指针取内容 能够获得该地址的元素 下面是我的分析: 地址的引入:例如:在codeblocks中 int a;? ?//声明一个整型变量?? ?a=5;? ?// 初始化? ? ?? ? ? ? ? ? ? ? ?? 那么操作系统便会在内存中,划分一块区域用来存储5。 该区域的大小由系统决定,在这里为int 类型占4字节 该区域的名字由程序员决定,该区域叫a 该区域 从首地址开始? ? 到尾地址结束? ? 问题1:?那地址这东西有什么用呢?程序员怎么知道该区域的首地址和尾地址? ? ???分析:如果该区域大小和首地址确定了,那么尾地址就确定了,问题解决。 方法:C语言中,通过取地址符 &,我们能够知道a的首地址。 如下图:得到a的首地址 ? ? 问题2:a=5;变量a的值我是知道的,但如果程序中声明了10000个整型变量并赋予初值,? ? ? ?如:?int b=1,c=2,d=3,e=4,f=5,......m=10000;//声明变量这么多的话,记不住啊,但是我想知道定义的任意一个变量的值,有没有什么方法能够解决呢?????????????????????哎,令人头大!.......Oh,发现了方法。 方法:C语言提供了? ? 取内容符号? *? ? ? ?? 可以获得变量的值 那我试试: ? ? 可以可以!!! 结论:通过&a,可以获得a的地址,通过 *?&a,可以得到a中的值。 引入指针:因为通过地址可以访问变量的值, 那么C语言为了方便程序员间接访问变量,于是把通过地址查找变量的值 这种方式起了一个名字 它叫:? ? ? ? ? ? ? ? ? ? 指针?? 作用:指向某个变量的地址? ??? 如图:通过p指针访问a的地址 ? 那么对于: p=&a;//p指向a的地址? 那么两边同时取内容? ?是不是等价于*p=a;??????? 试试就知道 ? ?不错,猜对了。 总结:通过指针这种方式 指向一个地址 对指针取内容 能够获得该地址的元素 补充:指针与内存的联系 1.建立内存的动态分配 malloc(100);?? ??? ?//开辟100字节的临时分配域,函数值为其第1个字节的地址 p=calloc(50,4);?? ??? ?//开辟50×4个字节的临时分配域,把首地址赋给指针变量p realloc(p,50);?? ?//将p所指向的已分配的动态空间改为50字节 free(p); ?? ?//释放指针变量p所指向的已分配的动态空间 2.建立动态数组,输入5个学生的成绩,另外用一个函数检查其中有无低于60分的,输出不合格的成绩。
|
|
C++知识库 最新文章 |
【C++】友元、嵌套类、异常、RTTI、类型转换 |
通讯录的思路与实现(C语言) |
C++PrimerPlus 第七章 函数-C++的编程模块( |
Problem C: 算法9-9~9-12:平衡二叉树的基本 |
MSVC C++ UTF-8编程 |
C++进阶 多态原理 |
简单string类c++实现 |
我的年度总结 |
【C语言】以深厚地基筑伟岸高楼-基础篇(六 |
c语言常见错误合集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/26 16:28:51- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |