专业网站建设品牌,17年专业建站经验,服务6000+客户--广州松河
免费热线:400-963-0016
微信咨询
|
联系我们
扫二维码关注公众号
网站首页
网站建设
短视频
网站推广
网站模板
客户案例
资讯动态
关于我们
网站首页
网站建设
短视频
网站推广
网站模板
客户案例
资讯动态
关于我们
位置:
广州松河
>
技术支持
> 什么是指针,C语言指针概述
什么是指针,C语言指针概述
来源:网络整理 时间:2023/2/17 11:55:52 共
3637
浏览
要明白什么是指针,必须先要弄清楚数据在内存中是如何存储的,又是如何被读取的。
如果在程序中定义了一个变量,在对程序进行编译时,系统就会为这个变量分配内存单元。编译系统根据程序中定义的变量类型分配一定长度的空间。内存的基本单元是字节,一字节有8位。每字节都有一个编号,这个编号就是“地址”,它相当于旅馆的房间号。在地址所标示的内存单元中存放的数据,就相当于在该旅馆房间中居住的旅客。
大家一定要弄清楚“
内存单元的地址
”和“
内存单元的内容
”这两个概念的区别,即“房间号”和“房间内所住客人”的区别。在程序中一般是通过变量名来对内存单元进行存取操作的。其实程序经过编译以后已经将变量名转换为变量的地址,对变量值的存取都是通过地址进行的。这种按变量地址存取变量的方式称为直接访问方式。
还有一种间接访问的方式,即变量中存放的是另一个变量的地址。也就是说,变量中存放的不是数据,而是数据的地址。就跟寻宝一样,可能你按藏宝图千辛万苦找到的宝藏不是金银珠宝,而是另一张藏宝图。按C语言的规定,可以在程序中定义整型变量、实型变量、字符型变量,也可以定义这样一种特殊的变量,它是存放地址的。
由于通过地址能找到所需的变量单元,所以可以说,地址“指向”该变量单元。如同一个房间号指向某一个房间一样,只要告诉房间号就能找到房间的位置。因此在C语言中,将地址形象地称为“指针”,意思就是通过它能找到以它为地址的内存单元。
所以,
一个变量的地址就称为该变量的指针
。指针就是地址,而地址就是内存单元的编号。它是一个从零开始的、操作受限的非负整数。
为什么是操作受限的?因为非负整数与非负整数可以加减乘除,但是指针和指针只能进行相减运算,不能进行其他运算,因为没有意义。而且进行相减运算也是有条件的:只有同一块空间中的地址才能相减。而且两个指针变量相减之后的结果是一个常量,而不是指针型变量,即相减的结果是这两个地址之间元素的个数,而不是地址的个数。这个后面还会再讲。
内存中一个单元指的是一字节,一字节有 8 位。每根地址总线都有两种状态:0 和 1。两根地址总线就有 4 种组合,能控制4个内存单元;三根地址总线就有 8 种组合,能控制 8 个内存单元;n 根地址总线就有 2
n
种组合,能控制 2
n
个内存单元。那么 CPU 总共是通过几根地址总线对内存进行处理的?一般的计算机是 32 位的,即 32 根地址总线,那么就能够控制 2
32
个内存单元,即 2
32
字节。
2
32
B=4GB,所以 32 位系统的计算机只能控制 4GB 的内存。前面讨论为什么内存不做得同硬盘一样大,原因就在这里。
版权说明:
本网站凡注明“广州松河 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
相关主题:
设计网站要版权费吗多少钱
快播官网设计网站下载地址
设计网站招聘软件开发人员
海外设计网站广告费用多少
第五人格设计网站推荐账号
不要钱的电商设计网站排行
手办包装设计网站推荐一下
艾瑞咨询官网设计网站下载
哈沐童装官网设计网站下载
福字艺术字体设计网站下载
·上一条:
指针变量及其定义,C语言指针变量定义详解
|
·下一条:
C++ string(C++字符串)详解
同类资讯
查询mysql慢,为什么MySQL在数据库较大的时候分页查询很慢_数据库
mysql从高查询,MySQL如何优化大分页查询_数据库
mysql xa 查询,mysql多表联合查询语句怎么写_数据库
mysql查询获取,MySQL能不能通过命令查看所有用户_数据库
mysql查询订单,面试高级php工程师_数据库
mysql 时段查询,mysql输入当前时间快捷键_数据库
查询mysql序列,如何生成流水条形码_数据库
mysql 最低查询,怎么成为java架构师_数据库
mysql查询 提示,windows查看服务名_数据库
mysql 查询通配符,mysql中用户权限的_数据库
mysql 水位 查询,Sharding_数据库
mysql 负向查询,但不知道Java可以做什么_数据库
mysql查询转换,by怎么转换到mysql中_数据库
mysql =子查询,mysql中查询一个子查询的结果和子查询本身的顺序
mysql from查询,我想用mysql查询出的结果创建一张新表_数据
mysql总数查询,影响MySQL性能的五大配置参数_数据库
mysql 销量查询,都可以从事哪些工作_数据库
mysql 查询 百万,Java程序员如何拿到50w的年薪_数据库
mysql查询qps,中间缓冲池原理_数据库
mysql 结果查询,mysql同时查询两张表_数据库
资讯动态
公司新闻
互联网资讯
电商资讯
优化推广
技术支持
关于我们
公司简介
企业文化
服务项目
公司新闻
服务项目
网站建设
网站推广
品牌策划
移动应用
服务支持
在线咨询
服务流程
产品报价
售后服务
联系我们
代理加盟
付款方式
在线留言
联系方式
联系方式
电话:400-963-0016
邮箱:sales@itwy.com
QQ:250211130
微信:18520775521
Copyright © 广州松河信息科技有限公司 2005-2025 版权所有
粤ICP备16019765号
广州松河信息科技有限公司 版权所有
18520775521
QQ洽谈
sales@itwy.com