下载此文档

指针_计算机基础知识.ppt


文档分类:IT计算机 | 页数:约142页 举报非法文档有奖
1/142
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/142 下载此文档
文档列表 文档介绍
指针_计算机基础知识
指针的故事
“该程序执行了非法操作,即将关闭”
这种错误几乎全是由指针和数组导致的
黑客攻击服务器利用的bug绝大部分都是指针和数组造成的
指针_计算机基础知识
主要内容







指针_计算机基础知识
地址
内存中每一个字节的存贮单元都有一个编号,这个编号就是“地址”。如果在程序中定义了一个变量,在对程序进行编译时,系统就会给这个变量分配存贮单元。
“直接访问”方式
scanf(″%d″,&i);
printf(″%d″,i);
k=i+j;
指针_计算机基础知识
将每个数据的首字节地址作为该数据的地址。
内存是一个连续编址的空间,每一个存储单元都有一个固定的编号,这个编号称为地址。
地址是一个无符号整数(通常用16进制数),其字长与主机相同
指针_计算机基础知识
例如:
已定义了一个整型数组d[6]。设该数组的起始地址为ee10(d[0]的地址),
赋值d[0]=10。
数组名是一个常量地址, 也为ee10
指针_计算机基础知识
2000
2002
2004
用户内存数据区
指针_计算机基础知识
(1) 求地址运算(&)
每个变量/数组都有一个内存地址,在何地址一般无法预测。可通过求地址运算得到。
2、求地址运算和访问地址运算
指针_计算机基础知识
例:#include <>
main()
{int a=1;float b=;double c=3;
int d[6]={-1,-2,-3,-4,-5,-6};
printf(“address of a is%x\n”,&a);
printf(“address of b is%x\n”,&b);
printf(“address of c is%x\n”,&c);
printf(“address of d is%x\n”,&d);
printf(“address of d[0] is%x\n”,&d[0]);
}
说明:
①输出的地址值用4位十六进制数表示。
②&只能施加在变量或数组元素上。
&25 &(x+y)均是错误的
指针_计算机基础知识
采用访问地址的方法存取数据,速度快,效率高。
将地址存放在一种特殊类型的变量中,把对地址的操作转换为对变量的操作。
存放地址的变量——指针变量
指针变量中存放的地址——指针
指针_计算机基础知识

指针_计算机基础知识 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数142
  • 收藏数0 收藏
  • 顶次数0
  • 上传人追风少年
  • 文件大小0 KB
  • 时间2013-10-06