一 概念定义:

严格说起来,应该这么讲:指针存的是地址,而&运算符是取变量的地址。

指针原理:

其实计算机中的内存就像一个个抽屉(一兆内存就相当于1百万个抽屉),每个抽屉都有一个编号,用于存放数据。

为了方便使用,编译器允许我们在写程序的时候,对抽屉进行命名(而不是使用抽屉的编号),这就是变量名。就比如说我们在程序中定义:char C; 这个时候系统会帮我们找一个空闲的抽屉(比方说编号为981的抽屉),命名为

C,用于存放一个字符变量。以后我们在程序里只要使用C这个变量,系统就知道是要对981这个抽屉里的数据进行操作。

指针是什么呢?

指针是我们申请一个空抽屉,里面不放数据,而放编号。比如我们申请一个字符指针:char *ch=&C; 这个时候,ch里面放的是C这个变量的地址(也就是981),其中&是取址符,也就是取C这个变量的地址,而不是值。*ch才

是ch指向的值。

二 实例解析:

下面这个例子 很好的说明了两者的关系:

#include

typedef struct

{

int arr;

int brr;

}test_array;

test_array i_test;

void test(test_array *btest)

{

btest->brr = ;

printf("btest->br

c语言地址符作用,C语言中指针和取地址符的关系相关推荐

  1. C语言加取址符的作用,C语言中指针和取地址符的关系

    一 概念定义: 严格说起来,应该这么讲:指针存的是地址,而&运算符是取变量的地址. 指针原理: 其实计算机中的内存就像一个个抽屉(一兆内存就相当于1百万个抽屉),每个抽屉都有一个编号,用于存放 ...

  2. C语言中 指针变量 取地址符的用法 *指针变量名的用法

    文章目录 总结 Intro Code 图示 总结 众所周知,内存可以看成一个一个相邻的格子(类比Excel),而数据就存储于这些格子之中(size大的变量占用格子数多,size小就占用小).而每个格子 ...

  3. 对指针变量取地址_C语言指针简介(amp;和*运算符)

    取地址符(&) 和  取值符(*) (1)& 运算符 :用于取一个对象的地址 例如:int *p;    p = &c;    将c的地址赋值给指针变量p,我们称p为 &quo ...

  4. 变量与指针、取值符与取地址符

    变量与指针.取值符与取地址符 一.基础知识 二.实例 其他 by HPC_ZY 也是偶然,在一个项目中需要多次交换二维数组中的值,逐个操作确实耗时,就想能不能利用指针操作快速交换.成功后写此文,记录分 ...

  5. 指针(*)、取地址()、解引用(*)与引用()

    指针(*).取地址(&).解引用(*)与引用(&) C++ 提供了两种指针运算符,一种是取地址运算符 &,一种是间接寻址运算符 *. 指针是一个包含了另一个变量地址的变量,您可 ...

  6. 一、初级篇——指针(*)、取地址()、解引用(*)与引用()的区别

    1. 初步了解--指针与取地址 先看程序: #include<stdio.h>int main(void) {int num = 7;int *p = #//初始化指针,也可以写作int* ...

  7. c语言位段的作用,c语言中位段的使用

    含有位段的结构体类型称为位段结构. 位段结构也是一种结构体类型,只不过其中含有以位为单位定义存储长度的整数类型位段成员.采用位段结构既节省存储空间,又可方便操作. 位段结构中位段的定义格式为: uns ...

  8. 关于对C语言中数组名取地址加减等操作的一点探究

    对于数组名取地址强制转换的操作 偶然在晚上学了C语言指针后网页闲逛找题时,被一个数组名取地址搞糊涂了,在自己试验加探索后我稍微悟了一点东西. 代码如下: #include<stdio.h> ...

  9. c语言record的作用,C语言基础 record 2-指针,结构体,链表,文件的输入输出

    指针: 1.指针的概念: 内存区的每一个字节有一个编号,这就是 '地址',由于通过地址能找到所需的变量单元,而地址指向该变量单元,所以将地址形象化称为 '指针'.C/C++中是可多继承的指针,而Jav ...

最新文章

  1. linux如何进入单用户模式
  2. IBM的大数据就是返朴归真
  3. 掌握大数据数据分析师吗?_要掌握您的数据吗? 这就是为什么您应该关心元数据的原因...
  4. 7价 半导体掺杂_掺杂工艺(一)
  5. UVA 10047 - The Monocycle BFS
  6. JS 数据结构之旅 :通过JS实现栈、队列、二叉树、二分搜索树、AVL树、Trie树、并查集树、堆
  7. 查看各类型数据库版本的SQL(Oracle/DB2/SQL Server/PG/MySQL)
  8. Activiti7事件监听
  9. 利用Powrshell 查看在2000万信息中看看自己在不在所谓的开房信息中!
  10. JavaScript学习手册一
  11. ckfinder php,php,ckfinder_ckfinder mac下报错 linux正常,php,ckfinder - phpStudy
  12. Entry name ‘META-INF/androidx.vectordrawable_vectordrawable.version‘ collided
  13. 什么是迭代器(Iterator)?
  14. 边写边学Python(8)乘法口诀表(对齐)
  15. pdf怎么分割成多个文件?有两种方式
  16. 手把手教你制作 中英文 词云 | python demo
  17. 循环往复 志在千里-while语句(C语言)
  18. Unity为什么ios不能热更新
  19. SRPG游戏开发(六十)第十一章 地图动作与地图事件 - 九 触发事件与切换回合(Trigger Events and Change Turn)
  20. 华南理工大学建筑学考研成功上岸超详细经验分享

热门文章

  1. IE提示“存储空间不足,无法完成此操作”的错误(彻底解决包括产生原因)...
  2. 以太坊编程-Geth
  3. [敏捷开发实践] 端到端测试你了解多少?
  4. 记录一次mongoDB错误 errmsg: cannot use the part () to traverse the element
  5. 300PLC转以太网与MatrikonOPC以太网通讯
  6. C# 模式匹配完全指南
  7. with open (files_name) as f
  8. Linux管道初步了解
  9. chrome android 导航,将 Chrome for Android 的地址栏移动到屏幕下方[Android]
  10. 怎么在线快速将多张CAD图纸转换成低版本DXF格式?