欢迎来到天天文库
浏览记录
ID:57013131
大小:423.00 KB
页数:72页
时间:2020-07-26
《函数和作用域课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章 函数和作用域数组和指针函数的定义和说明函数的调用函数的参数内联函数函数重载作用域第1节 数组和指针一、数组的定义(P28)1.数组是一种用一个名字来标识一组有序且类型相同的数据组成的派生数据类型,它占有一片连续的内存空间。2.一维数组的说明形式为:类型说明符数组名[常量表达式];如:intB[5];表示定义了一个名为B的一维数组,其中有5个元素,类型都为整型。起始地址内容B100110051009100d1011对应元素值与数组名关联定义时方括号内必须为常量形式,不能为变量。如:voidmain(){intsize=50;intarray[size];//
2、error…}应为:constintsize=50;二、数组元素的赋值1、数组元素的表示数组的赋值是给数组的各个元素赋值。数组的元素可以被赋值也可被赋初值。一维数组元素的下标表示如下:<数组名>[<下标表达式>]如:inta[5];则元素为a[0]-a[4]注意:a[5]不属于该数组的空间范围。例:#includevoidmain(){inti,a[10];for(i=0;i<=9;i++)cin>>a[i];for(i=9;i>=0;i--)cout<3、ta[5]={2,3,4,6,8};注意:花括号中的初始值个数不能多于数组定义的元素个数,但可以少于这(后面剩余的值全为0);初始值不能通过逗号的方式省略;初始值也不能为空;(4)具有初始化的数组定义,其元素个数可以省略。问题以下能对一维a进行正确初始化的语句是A.inta[10]=(1,2)B.inta[10]={};C.inta[]={0};D.inta[10]={1*10};√√(2)字符数组的初始化charchs1[6]={“hello”};charchs2[5]={‘h’,‘e’,‘l’,‘l’,‘o’};charchs1[6]=“hello”;三、二维4、数组1.定义:类型数组名[常量表达式][常量表达式];例:floata[3][3],b[5][10];a[0][0]a[0][1]a[0][2]a[1][0]a[1][1]a[1][2]a[2][0]a[2][1]a[2][2]2.二维数组的引用格式:数组名[下标][下标];3、二维数组的初始化(1)分行给二维数组赋初值。inta[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}}(2)对部分元素赋初值。inta[3][4]={{1},{5},{9}}4.例:将一个二维数组行和列元素互换,存到另一个二维数组中。#include5、tream.h>voidmain(){inta[2][3]={{1,2,3},{4,5,6}};intb[3][2],i,j;cout<<"数组a:"<6、&a;直接访问间接访问1.指针变量(1)一个变量的地址该变量的指针。(2)如果有一个变量是专门用来存放另一变量地址(即指针)的,则它称为指针变量。(3)指针变量的值(即指针变量中存放的值)是地址(即指针)。20003p*pi2000i=3;*p=3;2、定义指针变量例子:inti,j;int*p,*q;//p和q只能指向整型数据(1)格式:基类型*指针变量名;p=&i;q=&j;(2)注意:不能用一个整数给一个指针变量赋初值。int*p=100;//错可以用一个已定义的变量的地址作为指针变量的初值。3、引用指针变量(1)运算符&取地址运算符。*指针运算符。#inc7、ludevoidmain(){inta=100,b=200;int*p,*q;p=&a;q=&b;cout<voidmain(){int*p1,*p2,*p,a,b;cin>>a>>b;p1=&a;p2=&b;if(a8、
3、ta[5]={2,3,4,6,8};注意:花括号中的初始值个数不能多于数组定义的元素个数,但可以少于这(后面剩余的值全为0);初始值不能通过逗号的方式省略;初始值也不能为空;(4)具有初始化的数组定义,其元素个数可以省略。问题以下能对一维a进行正确初始化的语句是A.inta[10]=(1,2)B.inta[10]={};C.inta[]={0};D.inta[10]={1*10};√√(2)字符数组的初始化charchs1[6]={“hello”};charchs2[5]={‘h’,‘e’,‘l’,‘l’,‘o’};charchs1[6]=“hello”;三、二维
4、数组1.定义:类型数组名[常量表达式][常量表达式];例:floata[3][3],b[5][10];a[0][0]a[0][1]a[0][2]a[1][0]a[1][1]a[1][2]a[2][0]a[2][1]a[2][2]2.二维数组的引用格式:数组名[下标][下标];3、二维数组的初始化(1)分行给二维数组赋初值。inta[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}}(2)对部分元素赋初值。inta[3][4]={{1},{5},{9}}4.例:将一个二维数组行和列元素互换,存到另一个二维数组中。#include5、tream.h>voidmain(){inta[2][3]={{1,2,3},{4,5,6}};intb[3][2],i,j;cout<<"数组a:"<6、&a;直接访问间接访问1.指针变量(1)一个变量的地址该变量的指针。(2)如果有一个变量是专门用来存放另一变量地址(即指针)的,则它称为指针变量。(3)指针变量的值(即指针变量中存放的值)是地址(即指针)。20003p*pi2000i=3;*p=3;2、定义指针变量例子:inti,j;int*p,*q;//p和q只能指向整型数据(1)格式:基类型*指针变量名;p=&i;q=&j;(2)注意:不能用一个整数给一个指针变量赋初值。int*p=100;//错可以用一个已定义的变量的地址作为指针变量的初值。3、引用指针变量(1)运算符&取地址运算符。*指针运算符。#inc7、ludevoidmain(){inta=100,b=200;int*p,*q;p=&a;q=&b;cout<voidmain(){int*p1,*p2,*p,a,b;cin>>a>>b;p1=&a;p2=&b;if(a8、
5、tream.h>voidmain(){inta[2][3]={{1,2,3},{4,5,6}};intb[3][2],i,j;cout<<"数组a:"<6、&a;直接访问间接访问1.指针变量(1)一个变量的地址该变量的指针。(2)如果有一个变量是专门用来存放另一变量地址(即指针)的,则它称为指针变量。(3)指针变量的值(即指针变量中存放的值)是地址(即指针)。20003p*pi2000i=3;*p=3;2、定义指针变量例子:inti,j;int*p,*q;//p和q只能指向整型数据(1)格式:基类型*指针变量名;p=&i;q=&j;(2)注意:不能用一个整数给一个指针变量赋初值。int*p=100;//错可以用一个已定义的变量的地址作为指针变量的初值。3、引用指针变量(1)运算符&取地址运算符。*指针运算符。#inc7、ludevoidmain(){inta=100,b=200;int*p,*q;p=&a;q=&b;cout<voidmain(){int*p1,*p2,*p,a,b;cin>>a>>b;p1=&a;p2=&b;if(a8、
6、&a;直接访问间接访问1.指针变量(1)一个变量的地址该变量的指针。(2)如果有一个变量是专门用来存放另一变量地址(即指针)的,则它称为指针变量。(3)指针变量的值(即指针变量中存放的值)是地址(即指针)。20003p*pi2000i=3;*p=3;2、定义指针变量例子:inti,j;int*p,*q;//p和q只能指向整型数据(1)格式:基类型*指针变量名;p=&i;q=&j;(2)注意:不能用一个整数给一个指针变量赋初值。int*p=100;//错可以用一个已定义的变量的地址作为指针变量的初值。3、引用指针变量(1)运算符&取地址运算符。*指针运算符。#inc
7、ludevoidmain(){inta=100,b=200;int*p,*q;p=&a;q=&b;cout<voidmain(){int*p1,*p2,*p,a,b;cin>>a>>b;p1=&a;p2=&b;if(a8、
8、
此文档下载收益归作者所有