[数学]第4讲 C++变量的引用及指针的使用

合集下载

c语言指针的使用

c语言指针的使用

c语言指针的使用C语言是一种功能强大的编程语言,指针是其中的一个重要概念。

指针是内存地址,可以指向一个存储在计算机内存中的变量或数据。

使用指针,可以访问和修改内存中的数据,从而极大地提高了程序的效率和灵活性。

下面是一些C语言指针使用的例子:1. 定义指针变量在一个C程序中,可以使用指针变量来存储一个内存地址。

例如: ```int *p; // 定义一个指针变量p```这个定义中,*p表示p是一个指针变量,它可以指向一个整数类型的数据。

2. 使用指针的函数C语言中有很多函数可以访问和修改内存中的数据,其中包括一些指针函数。

例如:```void add(int *a, int *b) {*a += *b;}```这个函数add接收两个指针变量a和b作为参数,将其指向的内存地址相加,并返回结果。

3. 解引用指针指针变量可以指向多个不同的内存地址,而解引用指针则可以用来访问这些地址中的值。

例如:```int a[5] = {1, 2, 3, 4, 5};int *p = a; // 将指针变量p指向数组a的第一个元素int *q = &a[0]; // 将指针变量q指向数组a的内存地址```以上例子中,p和q都是指针变量,它们分别指向数组a的第一个元素和数组a的内存地址。

4. 指针数组指针变量可以存储一组相同类型的变量的内存地址,这被称为指针数组。

例如:```int a[5] = {1, 2, 3, 4, 5};int *p = a; // 定义一个指针数组p,指向a数组的第一个元素 ```以上例子中,p是一个指针数组,它指向数组a的第一个元素。

5. 动态内存分配指针变量可以动态地分配内存,这意味着可以在程序运行时动态地分配内存而不是在编译时分配。

例如:```int *p = (int*)malloc(sizeof(int) * 10); // 动态分配一个内存块,可以存储10个整数free(p); // 释放动态分配的内存```以上例子中,p是一个指针变量,它被动态地分配了一个大小为10的整数类型的内存块。

C语言中指针、引用和取值

C语言中指针、引用和取值

C语⾔中指针、引⽤和取值 指针是⼀个存储计算机内存地址的变量。

从指针指向的内存读取数据称作指针的取值。

指针可以指向某些具体类型的变量地址,例如int、long和double。

指针也可以是void类型、NULL指针和未初始化指针。

根据出现的位置不同,操作符 *既可以⽤来声明⼀个指针变量,也可以⽤作指针的取值。

当⽤在声明⼀个变量时,*表⽰这⾥声明了⼀个指针。

其它情况⽤到*表⽰指针的取值。

&是地址操作符,⽤来引⽤⼀个内存地址。

通过在变量名字前使⽤&操作符,我们可以得到该变量的内存地址。

9第2⾏,我们通过*操作符声明了⼀个int指针。

接着我们声明了⼀个int变量并赋值为1。

然后我们⽤int变量的地址初始化我们的int指针。

接下来对int指针取值,⽤变量的内存地址初始化int指针。

最终,我们打印输出变量值,内容为1。

第6⾏的&val是⼀个引⽤。

在val变量声明并初始化内存之后,通过在变量名之前使⽤地址操作符&我们可以直接引⽤变量的内存地址。

第8⾏,我们再⼀次使⽤*操作符来对该指针取值,可直接获得指针指向的内存地址中的数据。

由于指针声明的类型是int,所以取到的值是指针指向的内存地址存储的int值。

说穿了,指针就是地址吧,这⾥可以把指针、引⽤和值的关系类⽐为信封、邮箱地址和房⼦。

⼀个指针就好像是⼀个信封,我们可以在上⾯填写邮寄地址。

⼀个引⽤(地址)就像是⼀个邮件地址,它是实际的地址。

取值就像是地址对应的房⼦。

我们可以把信封上的地址擦掉,写上另外⼀个我们想要的地址,但这个⾏为对房⼦没有任何影响。

[C++]指针与引用(定义辨析)

[C++]指针与引用(定义辨析)

[C++]指针与引⽤(定义辨析)1.定义:1.1 &-----取地址运算符功能:返变量的内存地址Eg:int *p,m; 定义p为指向int类型变量的指针,同时定义变量mm = 200; 将数值200赋值给变量mp = &m; 将变量m的地址赋给指针变量p-------------------------------------此时: p = ⼀个内存地址 *p = m1.2 *-----间接访问运算符功能:访问指针指向的变量Eg:int *p,m = 200,n;p = &m; p指向整型变量mn = *p; 将p指向的变量m取出,赋值给变量n*p = 100 将100赋值给变量p所指向的变量m---------------------------------------------------------------形如:指针变量 *p*p 取出指针变量p所指向地址的值 (与变量m等价) p 指针变量指向的地址 (与变量&m等价) &p 指针变量p的地址---------------------------------------------------------------形如:变量 mm ⼀个常量值或⽆值 (与指针变量*p等价)&m m的地址 (与指针变量p等价)*m ⽆意义,会编译失败 (同理:&(*m)也会编译失败)Eg:*(&m) = m ; &(*m) 编译失败⽆意义---------------------------------------------------------------形如:引⽤变量 &r //⽤&符号来说明对变量的引⽤r 被引⽤的变量的值&r 被引⽤变量的地址*r ⽆意义,编译失败Eg: int i,&r = i; r +=10;-------------Result: i+=10;//对引⽤变量r的操作就是对原被引⽤变量的操作---------------------------------------------------------------需补充:右值引⽤ Type&&设X为任何⼀种数据类型,则定义X&&是到数据类型X的右值引⽤(rvalue reference to X)。

c语言 指针的指针 用法详解

c语言 指针的指针 用法详解

c语言指针的指针用法详解在C语言中,指针是非常重要的一种数据类型。

而指针的指针是指指向指针变量的指针。

它在C语言中也是非常重要的一种数据类型,经常用于动态内存分配和函数传递参数等方面。

下面,我们来详细介绍一下指针的指针在C语言中的用法。

一、指针的基本概念在C语言中,指针是一个变量,用来表示另一个变量的内存地址。

指针变量可以存储任何数据类型的地址,包括整型、字符型、浮点型等。

使用指针可以实现动态内存分配、函数传递参数等功能。

二、指针的指针的概念指针的指针是指指向指针变量的指针。

它的定义方式如下:```int **p;```其中,p是一个指向指针的指针变量,它可以指向一个指针变量的地址。

三、指针的指针的用法指针的指针在C语言中有很多用途,下面列举几个比较常见的用法。

1.动态内存分配在C语言中,可以使用malloc函数动态分配内存,该函数返回的是一个指向分配内存的首地址的指针。

而在一些情况下,需要动态分配二维数组或者指针数组,这时就需要使用指针的指针了。

例如:```int **p;int i,j;p=(int **)malloc(sizeof(int*)*3);//分配3个指向int类型指针的指针变量for(i=0;i<3;i++){p[i]=(int*)malloc(sizeof(int)*4);//分配4个int类型的变量}for(i=0;i<3;i++){for(j=0;j<4;j++){p[i][j]=i*j;//为p[i][j]赋值}}```上述代码中,先使用malloc函数分配3个指向int类型指针的变量,然后再用循环分别为这3个变量分配4个int类型的变量。

最后,再使用嵌套循环为二维数组赋值。

2.函数传递参数在C语言中,函数可以通过指针传递参数。

指针的指针也可以用于函数传递参数,可以使函数返回多个值。

例如:```void fun(int **p){*p=(int*)malloc(sizeof(int)*4);//为指针p分配4个int类型的变量(*p)[0]=10;(*p)[1]=20;(*p)[2]=30;(*p)[3]=40;}int main(){int *p;fun(&p);//传递p的地址printf("%d %d %d %d\n",p[0],p[1],p[2],p[3]);free(p);//释放内存return 0;}```上述代码中,定义了一个指针类型的函数fun,在函数中通过指针的指针为指针p分配4个int类型的变量,并为这4个变量赋值。

[数学]第4讲-C--变量的引用及指针的使用

[数学]第4讲-C--变量的引用及指针的使用
{int max(int x,int y); //函数声明
int a,b,m;
int max(int x,int y) {int z; if(x>y) z=x; else z=y; return(z); }
cin>>a>>b;
m=max(a,b); //调用函数max,求出最大值,赋给m
cout<<″max=″<<m<<endl;
2019年8月19日6时10分
21
4.字符串与指针
(3)用字符指针指向一个字符串
例4 定义一个字符指针变量并初始化,然后输出它指
向的字符串。 #include <iostream> using namespace std; int main( )
对字符串中字符的存取, 可以用下标方法,也可
以用指针方法。
2019年8月19日6时10分
数组的值 地址
18
3.数组与指针
C. p=a;错误!
数组的值
提er问ro:r C2440: '=' : cannot convert from 'int
[2针][对2]图' to9,'in有t *in' t *p;回答: A. 但如可:以p=:a[c0o];ut<<a; cout<<a+1;
元素都在内存中占用存储单元,它们都有相应的地 址。
指针变量指向数组元素: 相当于把某一元素
的地址放到一个指针变 量中。
2019年8月19日6时10分
图6
14
3.数组与指针
比如:
int a[10]; //定义一个整型数组a

c中的引用变量-概述说明以及解释

c中的引用变量-概述说明以及解释

c中的引用变量-概述说明以及解释1.引言1.1 概述引用变量是C语言中一个重要的概念,它允许程序员创建一个别名或者称为引用来访问另一个变量的值。

在C语言中,普通变量是存储数据的位置,而引用变量是存储另一个变量地址的位置。

通过引用变量,程序员可以更加灵活地操作数据,同时也提高了代码的可读性和可维护性。

本文将介绍引用变量的概念、用法、优势和注意事项,总结引用变量在C语言中的重要性,探讨引用变量在实际应用中的作用,并展望未来引用变量在C语言中的发展前景。

通过深入了解引用变量,可以帮助读者更好地理解C语言的编程思想和技术应用,从而提升自己的编程能力。

1.2 文章结构:本文将首先介绍引用变量的概念,并解释它在C语言中的具体用法。

接着,将探讨引用变量相较于普通变量的优势,以及在使用引用变量时需要注意的事项。

在结论部分,将总结引用变量在C语言中的重要性,探讨其在实际应用中的价值,并展望引用变量在未来的发展前景。

通过本文的阐述,读者将能更深入地理解引用变量在C语言中的作用和意义,提升对于此概念的认识和运用能力。

1.3 目的:在本文中,我们的目的是探讨C语言中引用变量的概念、用法、优势和注意事项。

通过深入分析引用变量在C语言中的应用,以及总结引用变量的重要性,我们希望读者能够更加深入地理解引用变量,并在实际编程中更加灵活地运用它们。

通过本文的阐述,读者可以更好地掌握引用变量的技术要点,提高自己在C语言编程中的水平,从而更好地应对各种编程挑战。

同时,我们也希望引发读者对引用变量在未来发展中的应用和可能性的思考,为C语言编程的未来发展做出贡献。

2.正文2.1 什么是引用变量引用变量是C语言中一种特殊的变量类型,它允许开发人员创建一个别名或者代表另一个变量的变量。

通过引用变量,我们可以直接访问并修改另一个变量的值,而不需要使用额外的指针或者副本。

引用变量在C语言中类似于指针,但是与指针不同的是,引用变量必须在声明时初始化,并且不可以再次改变其引用的对象。

C语言指针变量的定义及指针的应用

智者论道智库时代 ·275·C 语言指针变量的定义及指针的应用王宇博(山西农业大学,山西晋中 030800)摘要:C 语言进行编写程序一定会使用上指针,指针的操作是编写程序的一个点。

准确灵活地运用它,能够帮助我们处理实际生活中遇到的很多问题。

文章阐述了指针、指针变量以及指针运算标识符的概念,并运用实际例子介绍复杂指针的相关应用,让读者能够更加深入了解、掌握C 语言。

关键词:C 语言;指针;运用中图分类号:TP313文献标识码:A文章编号:2096-4609(2019)19-0275-002指针可以说是C 语言之中很具有特色的一个方面,另外也是C 语言学习过程中的重点以及难点。

标准、合理、正确、灵巧地运用其功能,可以用其代表繁杂的数据类型。

熟练应用指针功能,能够让程序更加简洁以及高效。

部分C 语言学习者在进行学习过程中很难对学习内容做到全部理解,致使其学习过程很艰难。

一、指针和指针变量的区别(1)“指针”是定义,“指针变量”为实际表现。

指针可以说是一种变量,因此我们可以对其进行概念化,而其概念与常见变量相同。

(2)一个变量的“指针”是指此变量的地址,借助指针可以寻找到用它来当作地址相关内存单元。

另外指针变量可以用来放置其他变量的内存地址。

(3)指针与指针变量有着不同的两个定义,需要提醒的是,一般提及指针变量时往往会将其简称为指针,但事实上两个实际含义并不相同。

二、指针变量定义在C 语言使用过程中要求所有变量先进行定义才可以进行使用,规定其类型,且依据此来区分内存单元。

指针变量与常规的整型等类型变量不完全相同的某种变量,这是一种是存放相应地址的专用变量,所以需要定义其“指针类型”。

指针变量名称的常规可见形式一般为:基种类型*指针变量名称;例如:int *i;float *j;“*”一般代表此变量的类型是指针类型。

指针变量名称是i 和j,并非*i 和*j。

在对指针变量进行定义时首先要指定其基类型。

c语言指针函数的用法

c语言指针函数的用法一、引言在C语言中,指针函数是一种特殊类型的函数,它接受一个指针作为参数,或者返回一个指针作为结果。

通过使用指针函数,我们可以更灵活地操作内存,实现对数据类型的深入理解和掌握。

本篇文章将详细介绍指针函数的定义、调用以及注意事项。

二、指针函数的定义1. 定义形式:类型 * 函数名(参数列表) { 函数体 }2. 说明:类型是指针所指向的数据类型;* 表示这是一个指针函数,即该函数接收一个指针作为参数或者返回一个指针;函数名是自定义的名称,需要符合C语言命名规范;参数列表表示函数的输入参数,可以有多个;函数体包含了函数的功能实现。

三、指针函数的调用1. 形式:指针变量 = 函数名(参数列表);2. 说明:首先需要声明一个合适的指针变量,然后将该变量传递给指针函数,函数执行完毕后,指针变量的值会发生改变。

【示例代码】假设有一个整数数组arr[],我们要找到其中最大的元素并返回其索引。

可以定义一个指向函数的指针变量fp,并将它传递给一个指针函数max_index来找到最大元素的索引。

代码如下:int *fp;int max_index(int *arr, int n) {int *max = arr; // 假设第一个元素是最大值for (int i = 1; i < n; i++) {if (*(arr + i) > *max) { // 比较当前元素与最大值的大小max = arr + i; // 更新最大值}}return max; // 返回最大值的地址}fp = max_index; // 将max_index函数的地址赋值给fpprintf("最大元素的索引为:%d\n", fp); // 调用fp即可输出最大元素的索引四、注意事项1. 指针函数不能没有返回值,否则会编译错误。

如果需要返回一个指针,则需要确保返回值指向的空间足够大。

2. 传递给指针函数的参数必须是合适的指针类型,否则会编译错误。

C++程序设计课件 第4课 指针与引用

第4课指针与引用指针,在C语言中已经学习过了,在本课中再强调一下。

引用是C++的新概念。

我们首先来复习一下指针的用法。

---------------------------------------------------------------------一、指针---------------------------------------------------------------------指针是编程语言的一个难点。

学习指针、掌握指针,是因为指针有比较重要的特殊用途,而不是为了其它的目的。

因此,不管花费多大功夫,都要理解指针的概念。

什么是指针?简单地说,指针就是(指向某种类型变量的)地址,当它指向一个具体的变量(它的值是该变量的地址)时,可以用它去访问这个变量。

指针是一种特殊的变量类型,它有两个含义:1、表示一个地址;2、指向一种确定的数据类型。

例如下面的语句int* p;定义一个指针变量p,同时完成两项操作:1、生成一个表示地址的变量p;2、规定p指向的数据类型是“int”。

---------------------------------------------------指针变量p与普通变量a的关系如下图所示:在图中,普通变量a的值是1000,占用内存单元的地址是addr1(&a)。

使用指针变量p表示普通变量a,p的值是&a(p=&a=addr1),*p的值是a(*p=a=1000)。

--------------------------------------------------------------------- #include <iostream>using namespace std;int main(){int a=1000;int* p; //定义一个指针变量p//--------------------------------------------------p=&a; //p指向变量acout<<*p<<endl; //用指针访问变量acout<<p<<endl; //指针p的值(变量a的地址)//--------------------------------------------------return 0;}--------------------------------------------------------------------- 程序运行后的界面如图4-1所示。

c语言中指针用法PPT演示课件


VS
通过指针遍历数组
使用指针进行数组遍历比使用下标遍历更 加灵活,可以通过调整指针来访问数组中 的任意元素。如通过`for(p=arr; p<arr+5; p)`可以遍历数组中的所有元素 。
03
指针与数组
数组指针的概念
数组指针
用于存储数组地址的指针变量 。
数组指针的类型
int *p; char *p; float *p; double *p;
动态内存分配
• 概念定义:动态内存分配是指在程序运行时根据需要动态地分配内存空间,以存储数据或对象。 • 用途:在需要根据输入或运行时需求动态扩展或缩减内存时,使用动态内存分配更加灵活和高效。 • 示例代码 • int p = (int)malloc(sizeof(int)); // 动态分配一个int类型的内存空间 • if (p != NULL) { • *p = 10; // 在分配的内存空间中存储数据 • printf("%d • ", *p); // 输出10 • free(p); // 释放内存空间 •} • · 概念定义:动态内存分配是指在程序运行时根据需要动态地分配内存空间,以存储数据或对象。 • · 用途:在需要根据输入或运行时需求动态扩展或缩减内存时,使用动态内存分配更加灵活和高效。 • · 示例代码 • · ```c
感谢观看
指针与结构体
• 概念定义:指针可以与结构体结合使用,以方便地访问结构体中的成员变量。 • 用途:结构体通常用于组织多个不同类型的数据,使用指针访问结构体成员可以更好地利用内存空间,并
提高访问效率。 • 示例代码 • struct student { • char name[20]; • int age; • }; • struct student stu = {"Tom", 18}; • struct student *p = &stu; • printf("%s %d • ", p->name, p->age); // 输出"Tom 18" • · 概念定义:指针可以与结构体结合使用,以方便地访问结构体中的成员变量。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

//p是指向函数的指针变量 max,其他都一样。
//指针变量p指向的函数的类型
14.11.2020
h
25
5.函数与指针
现在将上面程序的主函数修改如下:
#include <iostream>
using namespace std;
int main( )
{int max(int x,int y);
//函数声明
14.11.2020
图2
h
6
1.指针的概念
定义指针变量的一般形式为: 基类型 *指针变量名;
下面都是合法的定义: float *pointer_3; // pointer_3是指向单精度型数据的指针变量
char *pointer_4; // pointer_4是指向字符型数据的指针变量
14.11.2020
在C++中,数组名代表数组中第一个元素(即序号为0 的元素)的地址。因此,下面两个语句等价:
p=&a[0]; 和 p=a;
14.11.2020
h
15
3.数组与指针
在定义指针变量时可以给它赋初值:
int *p= &a[0] ;
//p的初值为a[0]的地址
也可以写成
int *p= a ;
//作用与前一行相同
{int max(int x,int y); //函数声明
int a,b,m;
int max(int x,int y) {int z; if(x>y) z=x; else z=y; return(z); }
cin>>a>>b;
m=max(a,b); //调用函数max,求出最大值,赋给m
cout<<″max=″<<m<<endl;
可以用一个指针变量指向函数,然后通过该指针变 量调用此函数。
指向函数的指针变量的一般定义形式为 函数类型 (*指针变量名)(函数形参表);
14.11.2020
h
23
5.函数与指针
例5 求a和b中的大者。 先按一般方法写程序: #include <iostream> using namespace std; int main( )
h
7
1.指针的概念
在定义指针变量时要注意: (1) 不能用一个整类型。
14.11.2020
h
8
(2)引用指针变量
有两个与指针变量有关的运算符: (1) &取地址运算符。
(2) *指针运算符(或称间接访问运算符)。
例如: &a为变量a的地址, *p为指针变量p所指向的存储单元。
如果指针变量p已指向数组中的一个元素, 则p+1指向同一数组中的下一个元素。
如果p的初值为&a[0],则: (1) p+i和a+i就是a[i]的地址,见图6。 (2) *(p+i) 是p+i所指向的数组元素,即a[i]。
14.11.2020
h
16
3.数组与指针
(2)多维数组与指针 设有一个二维数组a,
int a[3][4] ={{1,3,5,7},{9,11,13,15},{17,18,21,23}}; a是一个数组名。a数组包含3行,即3个元素:
a[0],a[1],a[2]。每一元素又是一个一维数组,它包 含4个元素(即4个列元素),见图7
可以认为:
二维数组是“数组
的数组”,即数组a
是由3个一维数组
14.11.2020
h
图10
26
5.函数与指针
(2)用指向函数的指针作函数参数 函数指针变量作为函数的参数,将函数名传给其他函数的形 参。这样就可以在调用一个函数的过程中根据给定的不同实 参调用不同的函数。
该方法,在C 例如:利用这种方法可以编写一个求定积分的语通言用中函用数的,用多它,
分别求5个函数的定积分:每次需要求定积分在的C函+数+中是,不一用样 的。可以编写一个求定积分的通用函数integra的l,少它有。3个形
{ char *str=″I love CHINA!″;
cout<<str<<endl;
return 0;
}
I
o
提问: 输出结果是什么? 1)若 cout<<*str<<endl; 2)若 cout<<*(str+3)<<endl;
14.11.2020
h
22
5.函数与指针
(1)用函数指针变量调用函数 指针变量也可以指向一个函数。一个函数在编译时 被分配给一个入口地址。这个函数入口地址就称为 函数的指针。
的值交换
{ int temp; temp=*p1; *p1=*p2; *p2=temp; } 在主程序调用时:swap(pointer_1,pointer_2); // pointer_1和pointer_2为指针类型。
14.11.2020
h
13
3.数组与指针
(1)指向数组元素的指针 一个变量有地址,一个数组包含若干元素,每个数组
请注意,这个问题的算法是不交换整型变量的值,而 是交换两个指针变量的值。
14.11.2020
h
12
2.指针作为函数参数
函数的参数还可以是指针类型。 它的作用是将一个变量的地址传送给被调用函数的形参。 比如: void swap( int *p1,int *p2 ) //函数的作用是将*p1的值与*p2
14.11.2020
h
21
4.字符串与指针
(3)用字符指针指向一个字符串 例4 定义一个字符指针变量并初始化,然后输出它指
向的字符串。 #include <iostream> using namespace std; int main( )
对字符串中字符的存取, 可以用下标方法,也可
以用指针方法。
return 0;
}
14.11.2020
h
24
5.函数与指针
可以用一个指针变量指向max函数,然后通过该指 针变量调用此函数。
定义指向max函数的指针变量的方法是比:较:
int (*p) (int,int);
比较
int max(int,int); //max函数原型
可以看出:
//p所指向的函数的形参只类是型用(*p)取代了
图9 cout<<a[0]+1;
地址
则:p+1= ? ; *(p+1)=? B.结如果:分p别=&为a[:0]2[00]0;0 、2016和2004
则:p+1= ? ; *(p+1)=?
C.如:p=a;
则:p+1= ? ; *(p+1)=?
解答:
A.p+1 = 2004,*(p+1) = 3; B.p+1 = 2004,*(p+1) = 3;
using namespace std;
int main( )
{
int *p1,*p2,*p,a,b;
cin>>a>>b;
//输入两个整数
p1=&a;
//使p1指向a
p2=&b;
if(a<b)
//使p2指向b //如果a<b就使p1与p2的值交换 图5 指针交换图
{p=p1;p1=p2;p2=p;} //将p1的指向与p2的指向交换
参: 下限a、上限b,以及指向函数的指针变量fun。 函数原型可写为: double integral (double a,double b,double (*fun)
元素都在内存中占用存储单元,它们都有相应的地 址。
指针变量指向数组元素: 相当于把某一元素
的地址放到一个指针变 量中。
14.11.2020
h
图6
14
3.数组与指针
比如:
int a[10]; //定义一个整型数组a
int *p;
//定义一个指针变量p
p=&a[0]; //将元素a[0]的地址赋给指针变量p,使p指向a[0]
(2) *&a的含义是什么?
变量a,再执行&运算。
解答:*&a与a等价。 先进行&a的运算,得a的 地址,再进行*运算,即 &a所指向的变量,*&a和 a等价。
14.11.2020
h
图4
10
举例
例1 输入a和b两个整数,按先大后小的顺序输出a和b(用指针变量处理)。
#include <iostream>
所组成的。
图7
14.11.2020
h
17
3.数组与指针
a代表的是首行的起始地址,即&a[0]。 a+1代表a[1]行的首地址,即&a[1]。
a[0],a[1],a[2]既然是一 维数组名, 而C++又规定了数组名 代表数组首元素地址, 因此a[0]代表一维数组 a[0]中0列元素的地址, 即&a[0][0]。a[1]的值 是&a[1][0],a[2]的值 是&a[2][0]。
cout<<″a=″<<a<<″ b=″<<b<<endl;
cout<<″max=″<<*p1<<″ min=″<<*p2<<endl;
return 0;
}
14.11.2020
h
11
相关文档
最新文档