正在加载图片...
假设已定义了三个变量itik编译时将变量名转换成变量的地址,对变量名的存I 都是对地址进行的。如prit9d3j的执行过程先找的地址20,从开始的两 字节取出数据如 : scant(“%od”,ci); 再如:k=计先从2002001取出的值,再从2002、2003取出j的值相加后将其和 入2004、2005字节单元中。这种按变量地址存取变量的方式叫直接存取方式 地地离香装和内查正南鑫落啊径益内元 字inti,k内存用户数据区号,地址 间接存取方式:将变量的地址里的° 的存单元中存 3 变量i 存放在另一个变量中,要存取变量200 的值,先找到存放i的地址的变量,从 变量j 中取出的地址(2002公后到2002 6 2001地址单元中存取的值在C中2004 变量k 可以定义整型变量、实型变量、 字符变量,也可以定义一种特殊的 变量,存放地址的变量。 point1=&i; point1的值就是30200 oint 1 2000.i的起始地址存取的值??指针是C的一个重要概念和特色,使用指针可以有效的表示复杂的 数据结构;动态的分配内存;方便使用字符串和数组;能直接使用 内存地址;所以掌握指针的使用,能使程序高效、简洁。 9.1 地址和指针的概念 地址:如果在内存中定义了一个内存变量,在编译时给这个内存变量分配内存单元, 系统根据定义的内存变量的类型,分配一定长度的内存空间;(基本整型2,实型4, 字符型1)。内存区的每一个字节有一个编号,叫地址 。在地址所标志的内存单元中存 放数据。分别相当于旅馆里的房间号和房间号里的人。 内存单元的地址和内存单元的内容:如下定义: int i,j,k; 内存用户数据区 ┇ 3 6 9 ┇ 2000 变量 i 变量 j 变量k point_1 2000 2002 2004 3010 假设已定义了三个变量int i ,j ,k编译时将变量名转换成变量的地址,对变量名的存取 都是对地址进行的。如printf(“%d”,i);的执行过程先找i 的地址2000,从开始的两个 字节取出数据 如:scanf(“%d”,&i); 再如:k=i+j 先从2000、2001取出i的值,再从2002、2003取出j的值,相加后将其和放 入2004、2005字节单元中。这种按变量地址存取变量的方式叫直接存取方式 间接存取方式:将变量i的地址 存放在另一个变量中,要存取变量i 的值,先找到存放i的地址的变量,从 中取出i的地址(2000),然后到2000、 2001地址单元中存取i的值.在C中 可以定义整型变量、实型变量、 字符变量,也可以定义一种特殊的 变 量 , 存放地址的变量 。 point_1=&i; point_1 的值就是 2000,i的起始地址,存取i的值???
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有