专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-963-0016
微信咨询
|
联系我们
扫二维码关注公众号
网站首页
网站建设
短视频
网站推广
网站模板
客户案例
资讯动态
关于我们
网站首页
网站建设
短视频
网站推广
网站模板
客户案例
资讯动态
关于我们
位置:
网站建设
>
技术支持
> 什么是指针,C语言指针概述
什么是指针,C语言指针概述
来源:网络整理 时间:2023/2/17 11:55:52 共
3634
浏览
要明白什么是指针,必须先要弄清楚数据在内存中是如何存储的,又是如何被读取的。
如果在程序中定义了一个变量,在对程序进行编译时,系统就会为这个变量分配内存单元。编译系统根据程序中定义的变量类型分配一定长度的空间。内存的基本单元是字节,一字节有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 的内存。前面讨论为什么内存不做得同硬盘一样大,原因就在这里。
版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
相关主题:
LOGO设计网站电视剧
创意产品设计网站链接
国外的工业设计网站
如何设计网站电视剧
版式设计网站电视剧
丹参酒广告设计网站
国外的建筑设计网站
优秀海报设计网站视频
小户型家装设计网站
有哪些室内设计网站
·上一条:
指针变量及其定义,C语言指针变量定义详解
|
·下一条:
C++ string(C++字符串)详解
同类资讯
指针变量及其定义,C语言指针变量定义详解
指针变量的初始化,C语言指针变量初始化详解
C++类的定义和使用
指针作为函数参数,C语言指针作为函数参数详解
const关键字及其作用(用法),C语言const详解
const修饰指针的三种效果,C语言const修饰指针详解
C++类成员的访问范围(C++ private、public、prote
指针与数组的关系,C语言指针和数组的关系详解
C++类和对象的总结,拿去做笔记吧
动态内存分配,C语言动态内存分配详解
多级指针(二级指针),C语言多级指针的用法详解
二维数组指针表示,C语言指针引用二维数组详解
函数指针及其定义和用法,C语言函数指针详解
字符串常量,C语言字符串常量详解
字符数组及其定义和初始化,C语言字符数组详解
memset函数及其用法,C语言memset函数详解
scanf函数输入字符串,C语言scanf函数输入字符串详解
gets函数,C语言gets函数详解
fgets函数及其用法,C语言fgets函数详解
puts函数,C语言puts函数用法详解
资讯动态
公司新闻
互联网资讯
电商资讯
优化推广
技术支持
关于我们
公司简介
企业文化
服务项目
公司新闻
服务项目
网站建设
网站推广
品牌策划
移动应用
服务支持
在线咨询
服务流程
产品报价
售后服务
联系我们
代理加盟
付款方式
在线留言
联系方式
联系方式
电话:400-963-0016
邮箱:sales@itwy.com
QQ:250211130
微信:18520775521
Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有
粤ICP备16019765号
广州京杭网络科技有限公司 版权所有
18520775521
QQ洽谈
sales@itwy.com