TP8 国二考试c语言教程

TP8 国二考试c语言教程

ID:46526196

大小:645.00 KB

页数:20页

时间:2019-11-24

TP8 国二考试c语言教程_第1页
TP8 国二考试c语言教程_第2页
TP8 国二考试c语言教程_第3页
TP8 国二考试c语言教程_第4页
TP8 国二考试c语言教程_第5页
资源描述:

《TP8 国二考试c语言教程》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第八章指针回顾数组是可以在内存中连续存储多个元素的结构数组中的所有元素必须属于相同的数据类型数组必须先声明,然后才能使用。声明一个数组只是为该数组留出内存空间,并不会为其赋任何值数组的元素通过数组下标访问一维数组可用一个循环动态初始化,而二维数组可用嵌套循环动态初始化二维数组可以看作是由一维数组的嵌套而构成的2目标理解指针的概念定义指针变量掌握对指针的操作理解指针和数组的关系3指针简介2-1内存10intxED53地址变量数据ED53intptr_x指针指针ptr_x指向变量x4指针也是一个变量,只不过该变量中存储的是另一个对象的内存地址如果一个变量存储另一个对象的

2、地址,则称该变量指向这个对象由于指针值是数据,指针变量可以赋值,所以一个指针的指向在程序执行中可以改变。指针p在执行中某时刻指向变量x,在另一时刻也可以指向变量y指针简介2-25声明并初始化指针变量数据类型*指针名;int*ptrnum;char*ptralpha;float*rate_ptr;double*p,*q;值为NULL的指针称为空指针,这意味着,指针并不指向任何地址。在头文件stdio.h中,NULL定义为常量。ptrnum=NULL;6与指针相关的运算符2-1intnum,*ptrnum;ptrnum=#取地址符内存100numFF7Cptrn

3、um指针FF7C&7与指针相关的运算符2-2intnum,*ptrnum;ptrnum=#*ptrnum=15;间接运算符内存100numFF7Cptrnum指针FF7C15*8指针的特点指针变量的命名规则和其他变量的命名规则一样指针不能与现有变量同名指针可存放C语言中的任何基本数据类型、数组和其他所有高级数据结构的地址若指针已声明为指向某种类型数据的地址,则它不能用于存储其他类型数据的地址应为指针指定一个地址后,才能在语句中使用指针9指针使用示例1#includevoidmain(){intvar=10;int*ptr_var;ptr_v

4、ar=&var;printf("var的值是:%d",var);printf("var的内存地址是:%x",&var);printf("指针ptr_var的地址是:%x",&ptr_var);printf("var的值是:%d",*ptr_var);printf("var的地址是:%x",ptr_var);}内存varptr_var1012ff7cvar的值是:10var的内存地址是:12ff7c12ff7c12ff78指针ptr_var的地址是:12ff78var的值是:10var的地址是:12ff7c10指针使用示例2voidmain()

5、{intnum1=50,num2=100;int*ptr1,*ptr2;ptr1=&num1;printf("num1的值是:%d",*ptr1);printf("num1的地址是:%x",ptr1);ptr2=&num2;printf("num2的值是:%d",*ptr2);printf("num2的地址是:%x",ptr2);*ptr2=*ptr1;printf("重新赋值后num2的值是:%d",*ptr2);printf("重新赋值后num2的地址是:%x",ptr2);}内存num1ptr15012ff7c12ff7cnum

6、2ptr210012ff7812ff785011intx,*ptr_x,*ptr_y;ptr_x=&x;ptr_y=ptr_x;指针赋值运算100xFF7Cptr_xptr_yFF7CFF7Cinta[5],*pa;pa=a;a[0]a[1]a[2]a[3]a[4]2343115046paFE60FE64FE68FE6CFE70FE6012int*ptrnum,arr_num[8];ptrnum=&arr_num[0];ptrnum++;指针算术运算2-1使用递增/递减运算符(++和--)将指针递增或递减内存arr_num[0]arr_num[1]arr_num[2

7、]arr_num[3]arr_num[4]arr_num[5]arr_num[6]arr_num[7]1023156041491339一个类型为T的指针的移动,以sizeof(T)为移动单位。13将指针加上或者减去某个整数值ptrnum=&arr_num[0];ptrnum=ptrnum+4;printf(“%d”,*ptrnum);ptrnum=&arr_num[5];ptrnum=ptrnum-2;printf(“%d”,*ptrnum);指针算术运算2-24160内存arr_num[0]arr_num[1]arr_num[2]arr_num[3]arr_n

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。