122指针变量的定义与引用 二、指针变量的赋值 设有指向整型变量的指针变量p,如要把整型变量a的地 址赋予p可以有以下两种方式: 1)指针变量初始化的方法 int a: int*p=&a 2)赋值语句的方法 int int“p; &a; 不允许把一个数赋予指针变量,下面的赋值是错误的: int"p p=1000; ■被赋值的指针变量前不能再加“”说明符,如写为 p=&a也是错误的。 第十二章指针
第十二章 指针 设有指向整型变量的指针变量p,如要把整型变量a 的地 址赋予p可以有以下两种方式: 1)指针变量初始化的方法 int a; int *p=&a; 2)赋值语句的方法 int a; int *p; p=&a; ◼ 不允许把一个数赋予指针变量,下面的赋值是错误的: int *p; p=1000; ◼ 被赋值的指针变量前不能再加“*”说明符,如写为 *p=&a 也是错误的。 12.2 指针变量的定义与引用 二、指针变量的赋值
122指针变量的定义与引用 二、指针变量的运算 ■指针变量只能进行赋值运算和部分算术运算及 关系运算。 (1)取地址运算符&:是单目运算符,其结合性为 自右至左,其功能是取变量的地址。 (2)取内容运算符*:是单目运算符,其结合性为自 右至左,用来表示指针变量所指的变量。在“共” 运算符之后跟的变量必须是指针变量。 ˉ注意:在指针变量说明中,“*”是类型说明符, 表示其后的变量是指针类型。而表达式中出现 的“☆”则是一个运算符用以表示指针变量所指 的变量。 第十二章指针
第十二章 指针 ◼ 指针变量只能进行赋值运算和部分算术运算及 关系运算。 (1)取地址运算符&:是单目运算符,其结合性为 自右至左,其功能是取变量的地址。 (2)取内容运算符*:是单目运算符,其结合性为自 右至左,用来表示指针变量所指的变量。在“*” 运算符之后跟的变量必须是指针变量。 ◼ 注意:在指针变量说明中,“*”是类型说明符, 表示其后的变量是指针类型。而表达式中出现 的“*”则是一个运算符用以表示指针变量所指 的变量。 12.2 指针变量的定义与引用 二、指针变量的运算
122指针变量的定义与引用 二、指针变量的运算 「例121指针变量程序举例。 maino i int*pl,*p2, il, 12; scanf(“%d,%d”,&il,&i2); l=&il;p2=&i2; printi(%d,%dⅦn”,*pl,*p2); p2=pl; printf(“d,%dm”,*p1,*p2); 若输入: 则输出: 3,5 3,3 第十二章指针
第十二章 指针 [例12.1]指针变量程序举例。 main( ) { int *p1, *p2,i1,i2; scanf(“%d, %d”,&i1,&i2); p1=&i1; p2=&i2; printf(“%d, %d\n”, *p1, *p2); p2=p1; printf(“%d, %d\n”, *p1, *p2); } 若输入: 3,5 则输出: 3,5 3,3 12.2 指针变量的定义与引用 二、指针变量的运算
122指针变量的定义与引用 二、指针变量的运算 「例122从键盘输入两个整数,按由大到小的顺 序输出。 main int*p1,“p2,a,b, scanf(ood, %d ", &a,&b); pl=&a; 2=b f(*p1<*p2) {t*p1;*p1=*p2;*p2=t;} printf(ood, %dn",a, b); 第十二章指针
第十二章 指针 [例12.2] 从键盘输入两个整数,按由大到小的顺 序输出。 main( ) { int *p1, *p2,a,b,t; scanf("%d ,%d ",&a,&b) ; p1=&a; p2=&b; if(*p1<*p2) { t=*p1;*p1=*p2;*p2=t;} printf("%d,%d\n",a,b) ; } 12.2 指针变量的定义与引用 二、指针变量的运算
123指针变量做函数的参数 ■使用指针类型做函数的参数,实际向函 数传递的是变量的地址。由于函数中获 得了所传递变量的地址,在该地址空间 的数据当函数调用结束后被物理地保留 下来。因此,如果希望函数间传递的是 地址,实参用变量的地址或指针变量, 形参用指针变量。 第十二章指针
第十二章 指针 ◼ 使用指针类型做函数的参数,实际向函 数传递的是变量的地址。由于函数中获 得了所传递变量的地址,在该地址空间 的数据当函数调用结束后被物理地保留 下来。因此,如果希望函数间传递的是 地址,实参用变量的地址或指针变量, 形参用指针变量。 12.3 指针变量做函数的参数