65指针与数组指针变量即然可以指向变量当然可以指向数

合集下载

C语言题库(判断题部分)

C语言题库(判断题部分)
三、判断题 1、用puts和gets函数只能输入或输出一个字符串。 答案: 正确 知识点:知识点/判断题/C7数组/C73字符函数T 2、用puts和gets函数可以输入或输出多个字符串。 答案: 错误 知识点:知识点/判断题/C7数组/C73字符函数T 3、用strcat(字符串1,字符串2)连接两个字符串函数时,字符串1的存储空间必须足够大。 答案: 正确 知识点:知识点/判断题/C7数组/C73字符函数T 4、用strcat(字符串1,字符串2)连接两个字符串函数时,字符串1的存储空间没有限制。 答案: 错误 知识点:知识点/判断题/C7数组/C73字符函数T 5、用strcat(字符串1,字符串2)连接两个字符串函数时,将字符串1后面的'\0'取消,只在新串的最后 保留一个'\0'。 答案: 正确 知识点:知识点/判断题/C7数组/C73字符函数T 6、使用strcpy(字符数组,字符串)函数时,字符数组长度必须足够大。 答案: 正确 知识点:知识点/判断题/C7数组/C73字符函数T 7、使用strcpy(字符数组,字符串)函数时,字符数组长度没有限制。 答案: 错误 知识点:知识点/判断题/C7数组/C73字符函数T 8、使用strcpy(字符数组,字符串)函数时,连同字符串后面的'\0'一起拷贝到字符数组中。 答案: 正确 知识点:知识点/判断题/C7数组/C73字符函数T 9、使用strcpy(字符数组,字符串)函数时,字符串后面的'\0'并没有一起拷贝到字符数组中。 答案: 错误 知识点:知识点/判断题/C7数组/C73字符函数T 10、字符数组定义后,不能用赋值语句将一字符串常量或字符数组直接赋给一个字符数组。 答案: 正确 知识点:知识点/判断题/C7数组/C73字符函数T 11、字符数组定义后,可以用赋值语句将一字符串常量或字符数组直接赋给一个字符数组。 答案: 错误 知识点:知识点/判断题/C7数组/C73字符函数T 12、比较两个字符串是否相等不能通过条件运算符"=="。 答案: 正确 知识点:知识点/判断题/C7数组/C73字符函数T 13、如果在共用体中有若干个不同类型的成员,在每一瞬间只有一个成员起作用,实际上是最后一个存放 成员起作用。 答案: 正确 知识点:知识点/判断题/C9结构体类型与链表/C93共用体与结构体T 14、结构体的各个成员各自占用自己的存储单元,各有自己的地址,各个成员所占的存储单元的总和一般 就是结构体断题/C9结构体类型与链表/C93共用体与结构体T 15、结构体的各个成员各自占用自己的存储单元,各有自己的地址,各个成员所占的存储单元当中最长的 成员长度就是结构体的长度。 答案: 错误 知识点:知识点/判断题/C9结构体类型与链表/C93共用体与结构体T 16、共用体是各个成员共享同一段存储单元,起始地址相同,占用存储单元最多的成员的长度就是共用体 的长度。 答案: 正确 知识点:知识点/判断题/C9结构体类型与链表/C93共用体与结构体T 17、当函数的类型为int型时,VC++允许省略函数声明。 答案: 正确 知识点:知识点/判断题/C6函数与编译预处理/C63函数声明T 18、函数定义在先、调用在后时,VC++允许省略函数声明。 答案: 正确 知识点:知识点/判断题/C6函数与编译预处理/C63函数声明T 19、当函数的类型为float型时,VC++允许省略函数声明。 答案: 错误 知识点:知识点/判断题/C6函数与编译预处理/C63函数声明T 20、当函数定义在后、调用在先时,VC++允许省略函数声明。 答案: 错误 知识点:知识点/判断题/C6函数与编译预处理/C63函数声明T 21、C程序中的变量一定要先定义后使用。 答案: 正确 知识点:知识点/判断题/C2基本数据类型及表达式/C23变量定义T 22、C程序中的变量不必先定义后使用。 答案: 错误 知识点:知识点/判断题/C2基本数据类型及表达式/C23变量定义T 23、在C程序中,ABC与abc是两个不同的变量。 答案: 正确 知识点:知识点/判断题/C2基本数据类型及表达式/C23变量定义T 24、在C程序中,ABC与abc是两个相同的变量。 答案: 错误 知识点:知识点/判断题/C2基本数据类型及表达式/C23变量定义T 25、case后面必须有空格,紧接着是常量表达式。 答案: 正确 知识点:知识点/判断题/C4选择结构程序设计/C43开关语句T 26、case后面不必有空格,紧接着是变量表达式。 答案: 错误 知识点:知识点/判断题/C4选择结构程序设计/C43开关语句T 27、同一个switch语句中的所有case后面的常量表达式的值都必须互不相同。 答案: 正确 知识点:知识点/判断题/C4选择结构程序设计/C43开关语句T 28、switch语句中的case和default的出现次序是任意的。

C语言指针教学设计

C语言指针教学设计

C语言指针教学设计1. 关于 C 语言程序设计中的指针C语言程序设计是高校理工科专业的一门重要专业或公共基础课,不仅是计算机相关专业学生进一步学习汇编语言程序设计、数据结构计算机操作系统、硬件编程等课程的入门级课程,同时也是非计算机专业学生了解计算机软硬件基础知识和计算机底层原理的重要手段之一.在教学内容的组织上,强调和分析指针与基本数据类型、函数、数组的内在联系,灵活设计教学程序实例,为学习者掌握指针及c语言程序设计创造良好条件。

指针是C语言的教学重点,程序使用指针可以带来很多方便,如:1)灵活操作数组(含字符串);2)动态分配内存;3)表示复杂的数据结构;是让程序更加简洁高效的重要手段。

然而指针也是C 语言学习的最大难点,学习者普遍感觉指针概念抽象,致使无法正确理解并使用指针,而指针的使用稍有不慎,往往会给c 语言程序带来致命的错误。

2. 学生分析在讲指针内容之前,学习者经历了基本数据类型、运算符和表达式、输入输出函数、选择制语句、循环控制语句、函数、数组等内容的学习。

而指针内容之后,一般还要讲授指针与字符串、指针与数组、结构体与共用体、文件操作等内容。

其中指针起到了承前启后的作用,学习并掌握指针,对学习者获得程序设计技巧和能力、继续学习其它计算机专业课程至关重要。

3. 教师自我思考在课堂教学中起主导作用的教师,应根据指针教学所必需的基础知识,在授课过程中不断调各关键知识点的重要性,尽可能在指针内容的学习之前,使学习者具备理解指针概念的基础知识和基本能力。

在教学内容的组织上,强调和分析指针与基本数据类型、函数、数组的内在联系,灵活设计教学程序实例,为学习者掌握指针及c 语言程序设计创造良好条件。

4. 学生学习方法建议学习本章内容时,应重点掌握指针与指针的区别、指针的引用方法和运算,并在此基础上进一步理解指针作为函数参数和在数组当中的的应用,要求多读程序,理解编程的算法、编程的思路,并仿照例题多编程序、上机练习,真正掌握指针的灵活应用5. 教学目标1)知识层面:a)使学生掌握指针和指针变量的概念、表达方式和区别;b)使学生掌握指针作为函数参数的使用;c)使学生初步了解指针在数组中的应用;2)能力层面:在编程语言环境熟练应用指针编写一些简单程序、并且经过不断的锻炼深化能力、最终掌握指针的应用3)认知层面:深刻理解指针的相关概念和指针做函数参数和在数组当中的应用6.教学重点与难点(1)教学重点:指针做函数参数和在数组当中的应用(2)教学难点:如何让学生更好地明白指针的概念处理方法:用图示和结合实列并尽力用通俗易懂的语言帮助学生理解指针和指针的应用7.教学内容设计printf("max=%d,min=%d\n",*p1,*p2); return 0;}问题: 请问横线处应该如何填写?才能从大到小输出 a,b 两个数的值 例子:按输入 a 和 b 两个整数,按从大到小的顺序排列输 出 a 和 b程序编程: #include<stdio.h> int main() {void s *p_1,int *p_2);// 对 swap 函数的声明 int a,b; //定义两个整型变量 a 和b int *p1,*p2; // 定义两个 int * 型的指 针变量printf("Please enter a and b:");scanf("%d %d",&a,&b); //输入两个整数 p1=&a; //使 p1 指向 a p2=&b; //使 p2 指向 b if(a<b) s);//如果 a<b ,调用 swap 函数printf("max=%d,min=%d\n",a,b);// 输出结果 return 0; }void s *p_1,int *p_2) // 定义 swap 函数{int temp; // 定义一个整型的中间变量 temp temp=*p_1; //使*p_1 和 *p_2 进行交换 *p_1=*p_2; *p_2=temp;}两个数的交换,就如同有三个盒子 temp ,*p_1 ,*p_2 ,现 在 *p_1 和*p_2 两个盒子都装满了东西,并且要把两个盒 子的进行交换,此时,必须借助三个盒子 temp ,才能使他 们进行交换。

《C语言程序设计》第8章指针

《C语言程序设计》第8章指针
}
10.3.3 指针变量和数组作函数参数 数组名作形参时,接收实参数组的起始地址;
作实参时,将数组的起始地址传递给形参数组。
引入指向数组的指针变量后,数组及指向数 组的指针变量作函数参数时,可有4种等价形式 (本质上是一种,即指针数据作函数参数):
(1)形参、实参都用数组名 (2)形参、实参都用指针变量 (3)形参用指针变量、实参用数组名 (4)形参用数组名、实参用指针变量
(4)指针变量的++、--与&、*的结合
对于指针变量的++、--与&、*的结合 使用,关键要注意按照运算符的优先级和 结合性进行。
例如: int a=2, *p; p=&a;
•表达式:(*p)++,按运算符的优先级,等价于 a++。其含义为:取出指针变量p所指向的内存单 元的值(即a的值),a的值加1,送回a的内存单 元,a的值变为3,p的值未发生变化,仍然指向 变量a。
程序说明:printf("%s\n",s);语句 通过指向字符串的指针变量s,整体引
用它所指向的字符串的原理:系统首先输出s 指向的第一个字符,然后使s自动加1,使 之指向下一个字符;重复上述过程,直至遇到 字符串结束标志。
main() { char string[ ]=”I love Beijing.”; printf(“%s\n”,string); }
3.数组元素的引用 数组元素的引用,既可用下标法,也可用
指针法。
10.3.2 通过指针引用数组元素 如果有“int a [10],*p=a;” ,则: (1)p+i和a+i都是数组元素a [i]的地址。
(2)*(p+i)和*(a+i)就是数组元素a [i]。 int a [3]; a [0]——*a a [1]——*(a +1) a [2]——*(a +2)

C语言程序设计综合练习题

C语言程序设计综合练习题

《C语言程序设计》综合练习题一、单选题1. C语言中基本数据类型有。

CA)整型、实型、逻辑型B)整型、字符型、逻辑型C)整型、实型、字符型D)整型、实型、字符型、逻辑型2. 在C语言中,数字O29是一个。

AA)八进制数 B)十进制数 C)十六进制数 D)非法数3. 在以下关于C语言的不严格的叙述中,错误的说法是。

AA)在标识符中,大写字母和小些字母的意义相同B)有些不同类型的变量可以在一个表达式中运算C)在赋值表达式中等号“=”左边的变量和右边的值可以是不同类型D)同一个运算符号在不同的场合可以有不同的含义4.下列关于C语言用户标识符的叙述中正确的是。

BA)用户标识符中可以出现下划线和中划线(减号)B)用户标识符中不可以出现中划线,但可以出现下划线C)用户标识符中可以出现下划线,但不可以放在用户标识符的开头D)用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头【解析】考查C语言中的用户标识符规则,在C语言程序设计中,用户标识符是由字母、数字和下划线组成的,并且第一个字符必须是字母或下划线。

5. 结构化程序设计方法中有三种基本控制结构,以下不正确的是。

DA) 顺序结构B) 选择结构C) 循环结构 D) 数组结构6. C语言提供的合法关键字是。

DA) swicth B) cha C) Case D) default7.以下非法的赋值语句是CA) n=(i=2,++i); B)j++; C) ++(i+1); D)x=j>0;【解析】对表达式不能进行自加自减运算。

8.在以下一组运算符中,优先级最高的运算符是。

A) <= B) = C) % D) &&【解析】C语言常用的积累运算符的优先级关系是:逻辑非“!”>算术运算符>关系运算符>逻辑与“&&”>逻辑或“||”>赋值运算符>逗号运算符。

由于C选项为求余运算符,所以本题正确答案为C选项。

指针变量的使用方法

指针变量的使用方法

指针变量的使用方法
1指针变量的定义
指针变量就是用来保存另外一个变量的地址的变量,它的类型和它所指向的变量的类型必须是一致的,它的值就是一个地址,是一个带着地址信息的指针变量,它具有指向精确内存地址空间信息的功能,可以将指针变量看成是一个到任何变量或函数的一条直接简捷道路。

2指针变量的使用
指针变量的使用方法是非常简单的,要想使用指针变量的话,首先是要声明,声明指针变量的形式是:1、定义指针变量,如int*p 或者int*p;2、之后对指针变量进行赋值,如int*P=&val;这样的赋值方式,大家指针变量的定义之后就可以进行加一、减一等操作了,要想实现指针变量的调用,就是通过进行解引用操作,也就是想通过*p来调用val.
3指针变量的应用
指针变量可以被用作函数参数,普通变量只能传值,而指针变量可以传递地址,指针变量在指向函数的参数的时候,可以将函数与指针变量中指向的地址进行关联,从而能达到灵活的修改函数参数,改变函数参数,这样可以使代码缩短,在处理指针和数组的算法时,指针变量也会大有帮助,可以实现数组的添加,删除,查找,排序等操
作,这样可以非常有效的提高算法的效率以及可读性,同时它也可以实现复杂数据结构的存储。

总结来看,指针变量的应用非常的广泛,在实现函数的灵活的参数的传递,以及数组的添加删除查找排序中都可以大有帮助,用指针变量可以实现算法的更高效,更富有可读性的编写。

c语音 指针

c语音 指针
一定要记住实参和形参之间的数据是单向的”值传 递”!!!
为了使在函数中改变了的变量值能被main函数所用, 可用指针变量作为函数形参,在函数执行过程中使 指针变量所指向的变量值发生变化,如果想通过函 数调用得到n个要改变的值,可以: 1. 在主调函数中设n个变量,用n个指针变量指向他们; 2. 将指针变量作实参, 将这n个变量的地址传给所调 用的函数的形参; 3. 在执行函数的过程中,通过形参指针变量,改变n个 变量的值; 4. 主调函数中就可以使用这些改变了值的变量. 但是不要试图通过改变形参指针的值而使实参指针 的值改变
第十章
式: 内存区的每一个字节有一个编号,这就是“地址” ; 在程序中定义了一个变量,在进行编译时,系统就会给 这个变量分配内存单元 1、“直接访问”: 按变量地址存取变量值 例如: int i,j=6,k; scanf(“%d”,&i); printf(“%d”,i);
void exchange(int *q1,int *q2,int *q3) { void swap(int *pt1,int *pt2); if(*q1<*q2) swap(q1,q2); if(*q1<*q3) swap(q1,q3); if(*q2<*q3) swap(q2,q3); } void swap(int *pt1,int *pt2) { int temp; temp=*pt1; *pt1=*pt2; *pt2=temp; }
例10.4 输入a、b、c 3个整数,按大小顺序输出 #include <stdio.h> void main() { void exchange(int *q1,int *q2,int *q3); int a,b,c,*p1,*p2,*p3; scanf("%d,%d,%d",&a,&b,&c); p1=&a; p2=&b; p3=&c; exchange(p1,p2,p3); printf("%d,%d,%d\n",a,b,c); }

c语言中 指针的类型

c语言中 指针的类型

c语言中指针的类型在C语言中,指针是一种非常重要的概念。

它是一个变量,其值为内存地址。

通过使用指针,我们可以直接访问和修改内存中的数据,这使得我们能够更高效地处理数据和实现复杂的数据结构。

在C语言中,指针的类型决定了指针变量可以指向的数据类型。

以下是一些常见的指针类型:1. void指针:void指针是一个通用的指针类型,可以指向任意类型的数据。

它的定义方式为void *ptr。

由于void指针没有具体的数据类型信息,因此在使用时需要进行强制类型转换。

2.整型指针:整型指针可以指向整型数据。

例如,int *ptr可以指向一个int类型的变量。

可以使用指针来操作该变量的地址,读取或修改其值。

3.浮点型指针:浮点型指针可以指向浮点型数据。

例如,float*ptr可以指向一个float类型的变量。

使用指针可以更高效地进行浮点计算,同时可以实现对浮点数据的修改。

4.字符型指针:字符型指针可以指向字符型数据。

例如,char*ptr可以指向一个字符型变量或字符数组。

通过指针,我们可以更方便地操作字符串,包括拷贝、连接、查找等。

5.结构体指针:结构体指针可以指向结构体类型的数据。

结构体是一种自定义的数据类型,可以包含多个不同数据类型的成员变量。

通过结构体指针,我们可以访问和修改结构体的成员,实现对结构体的操作。

6.数组指针:数组指针可以指向数组类型的数据。

例如,int*ptr可以指向一个int类型的数组。

通过指针,我们可以遍历数组中的每个元素,进行读取、修改或其他操作。

7.函数指针:函数指针可以指向函数。

函数是一段可执行的代码块,通过函数指针,我们可以像调用普通函数一样调用被指向的函数。

8.指向指针的指针:指向指针的指针是指针的指针,通过它可以实现更复杂的数据结构,如链表、二维数组等。

在C语言中,指针的类型非常灵活,可以根据实际需求选择合适的指针类型。

通过使用指针,我们可以提高程序的效率和灵活性,同时能够更方便地进行内存管理和数据操作。

数组指针的定义

数组指针的定义

数组指针的定义数组指针是一种特殊的指针类型,它可以指向数组的首地址。

在程序设计中,数组指针常常被用于处理数组的操作。

本文将从数组指针的定义、用途、操作等方面进行阐述,以帮助读者更好地理解和应用数组指针。

一、数组指针的定义数组指针是指向数组的指针变量,它可以存储数组的首地址。

在C 语言中,数组名就是一个指向数组首元素的指针,因此可以将数组名赋值给指针变量,这样指针变量就指向了数组的首地址。

例如,int arr[5]; int *p = arr; 这里,p就是一个指向arr数组的指针变量。

二、数组指针的用途数组指针在程序设计中有着广泛的应用,它可以用来实现数组的传递、访问和操作。

首先,数组指针可以作为函数参数,在函数中通过指针对数组进行修改,实现数组的传递和操作。

其次,数组指针还可以通过指针运算来访问数组的元素,例如通过*(p+i)的方式来访问数组的第i个元素。

此外,数组指针还可以用于动态内存分配和多维数组的处理等方面。

三、数组指针的操作使用数组指针时,可以通过指针运算来遍历数组的元素。

例如,可以使用指针变量p来遍历数组arr的所有元素,通过不断递增指针的值来访问数组的每个元素。

同时,可以使用指针变量p来修改数组的元素值,通过*p = value的方式来改变数组的元素值。

此外,还可以通过指针的比较来判断数组的边界,避免越界访问。

四、数组指针的注意事项在使用数组指针时,需要注意一些细节。

首先,数组指针的类型必须与指向的数组类型一致,否则会导致类型不匹配的错误。

其次,需要注意数组指针的初始化和赋值,确保指针变量指向有效的数组地址。

此外,还需要注意指针的引用和解引用的方式,以及指针的空指针判断和释放等问题。

五、总结数组指针是一种重要的指针类型,它可以用于实现数组的传递、访问和操作。

通过数组指针,我们可以方便地对数组进行遍历、修改和处理。

在程序设计中,熟练掌握数组指针的使用方法对于提高代码的效率和可读性非常重要。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

例6.6分别用下标法,地址法访问数组元素.
#include<iostream.h> void main( void ) {
int a[5]={1,3,5,7,9}, i ,*p; for(i=0; i<5; i++)
cout<<a[i]<<'\t'; cout<<#43;)
P++ I have 50 Yuan\0 q++
The new string is:I have 5 Yuan;
注意:定义一个数组,在编译时即已分配内存单元,有确定的地址。 而定义一个字符指针变量,只是给指针变量分配内存单元,在其中可 以放一个地址值,也就是说,该指针变量可以指向一个字符型数据, 但如果未对它赋以一个地址值,则它并未具体指向哪一个字符数据。
6.5.4 指针与字符串
字符串是存放在字符数组中的,我们可以定义一个指向字符数组起始 地址的指针----字符指针,通过字符指针的指向来访问字符数组中的字符。
例6.15用字符指针指向一个字符串 void main( void ) {
char string[ ]=“C Language”; char *p; p=string; cout<<string; cout<<p; } 运行结果为:C Language
C Language
可以直接为一个字符指针赋初值: char *p="C Language"; cout<<p;
作用是:使指针变量p指向字符串 的起始地址。千万不要认为“将字 符串中的字符赋给p”。
例6.16 输入一行字符,要求删除指定的字符。
#include<iostream.h>
void del_char(char *p, char x)
#define N 80
{
void del_char(char *, char);
char *q=p;
void main( void )
for(; *p!='\0';p++)
{
if(*p!=x) *q++ = *p;
char c[N], *pt=c, x;
*q ='\0';
cout<<"Enter a string:"; }
cin.getline(pt,50);
cout<<"Enter a char you want
to delete:";
x=cin.get( );
del_char(pt, x);
cout<<"The new string is: "<<c;
}
运行情况如下: Enter a string:I have 50 Yuan; Enter a char you want to delete: 0;
向数组的下一个元素(而不是将p简单加1)。
例如:int a[10], *p; p = a;
则 *p < == > a[0] *(p+1) < == > a[1]; *(p+9)< == >a[9];
p+1所代表的地址实际上是p+1*d, d是该指针类型所占的 字节数。(如整型指针d=2;实型指针d=4,字符型指针 d=1)。 d=sizeof(数组类型)
a[5]=10; 或 *(a+5)=10; 都认为合法,因此,在C++程序中使用数组和指针时应十分小心,避免 出现越界。
6.5.3.要注意指针变量的当前值;
例如:输出a数组的10个元素 #include<iostream.h> void main( void ) {
int *p, i, a[10]; p=a;
for (i=0; i<10; i++) cin>>*p++;
cout<<"\n"; for(i=0; i<10; i++,p++)
cout<<*p<<' '; }
解决办法: 只要在第2个for循 环之前 加上一个赋值语句: p=a;
运行结果: 1,2,3,4,5,6,7,8, 9,0 22153,234,0,0, 30036,25202,11631, 8295,……
6.5 指针与数组
指针变量即然可以指向变量,当然可以指向数组和数组元素。数组的 指针是数组的起始地址.
C++语言中数组名代表数组的起始地址,因此,数组名也就是数组的 指针,数组元素的指针就是数组元素的地址。
6.5.1. 指向数组元素的指针
若一个指针变量指向数组的起始地址,该指针变量称为数组指针。
例:int a[10]; int *p; p=a; p=&a[0];
如:char str[10]; cin>>str; 是可以的。 char *str; cin>>str; 也是合法的。
虽然一般也能运行,但这种方法是危险的。
应当改为: char *a, str[10]; a=str; cin>>a; 先使指针a有确定的指向,也就是使a指向一个数组的开头,然后再输 入字符串到该地址开始的若干单元中。
a代表数组的首地址,是一个常量,其值是不能改变的。
说明: 1、 用地址法访问数组元素的效率比使用下标法的效率高。 原因:使用下标法访问数组元素时,是把a[i]转换成*(a+i)处理的。即先 计算出数组元素的地址a+i, 然后再找到它指向的存储单元,读出或写入 它的值。而用指针变量p指向数组元素时不必每次计算数组元素的地址, 同时p++这样的操作速度快。 2、 C++编译系统不作“下标越界”的检查。 例如: int a[5];
cout<<*(a+i)<<'\t'; cout<<'\n'; for(p=a; p<a+5; p++)
cout<<*p; }
运行结果如下:
1,3,5,7,9 1,3,5,7,9 1,3,5,7,9
注意:不能用如下办法输出a数组中的元素
for(i=0; i<5; i++)
cout<<*a++;
原因:p是指针变量,p的值可以不断变化,因为p的值是地址,因此,p 可以改变其指向。
定义a为包含10个整型数的数组 定义p为指向整型变量的指针变量 将数组a的起始地址赋给指针变量p
p &a[0]
a 1 a[0] a[1]
2 a[2] 3
6.5.2.通过指针引用数组元素
引用一个数组元素可以有两种方法: (1)下标法:如a[i];即指出数组名和下标值,系统就会
找出该元素。 (2)地址法:若p是一个数组指针,C++语言规定p+1指
相关文档
最新文档