- 2
- 0
- 约1.89万字
- 约 77页
- 2017-08-10 发布于河南
- 举报
第10章 指针-ff
第 十 章指 针; 第十章 指 针; 指针是C语言中最重要的组成部分。利用指针可以表示:复杂的数据结构;动态分配内存;灵活处理字符串和数组;直接处理内存地址;从函数调用中获取多个值等。;对变量值的存取实质上是通过地址进行的。; 指针: 一个变量的地址叫该变量的 “ 指针 ”。
指针变量: 用于存放其它变量的地址的变量。
指向:如 i_pointer= i ,就称i_pointer指向变量 i
目标变量: 指针变量所指向的变量。;说明:
1. 类型说明符表示指针变量所指向的变量的类型,
同类型变量的地址才能放到指向该类型变量的指
针变量中。例如
2. 不能把一个整型量或其它非地址类型的数据赋给
一个指针变量。例如;二、指针变量的引用
例 10.1 通过指针变量访问整型变量
main ( )
{ int a , b ;
int *p1 , *p2 ;
a = 100 ; b = 10 ;
p1 = a ; p2 = b ;
printf(“%d, %d\n”, a , b ) ;
printf(“%d,%d\n”, *p1, *p2 );
}
;关于 与 * 运算符的说明:
1. 是取地址运算符, 如: a, b等。
定义时,* 是指针运算符,用于表示其后的标 识符是指针变量。但在程序中,*p 则表示指针变量 p 所指向的变量,即目标变量。
2. , * , + + , – – 同优先级, 按从右至左方向结合。 ;程序运行;三、 指针变量作为函数的参数
函数调用时,把实参的值传递给形参。
指针变量可以作实际参数,其作用也是将实际参数的值传递给形式参数,但此时的值代表是一个变量的地址,把地址传送给被调函数的形式参数。;例 10.3 设计一个函数,交换两个数。
swap ( int *p1 , int *p2 )
{ int p ;
p = *p1;
*p1 = *p2 ;
*p2 = p ;
}
main ( )
{ int a, b, *pointer_1, *pointer_2;
scanf(“%d,%d”,a,b);
pointer_1 = a ;
pointer_2 = b ;
if (a b)
swap(pointer_1,pointer_2);
printf(“\n%d,%d\n”, a, b);
}; 如果把 swap 函数改成 :
swap (int *p1 , int *p2 )
{
int *p ;
*p = *p1 ;
*p1 = *p2 ;
*p2 = *p ;
} ; swap(int x , int y )
{ int t ;
t=x; x=y; y=t ;
};实例; swap (int *p1 , int *p2 )
{ int *p ;
p = p1 ;
p1 = p2 ;
p2 = p ;
}
main ( )
{ int a , b , *pointer_1 , *pointer_2 ;
scanf ( “ %d , %d ” , a , b ) ;
pointer_1 = a ; pointer_2 = b ;
if ( a b )
swap ( pointer_1 , pointer_2 ) ;
printf ( “ \n %d , %d \n ”, a , b ) ;
};例 10.4
swap ( int *pt1, int *pt2 );
exchange ( int *q1 , int *q2 , int *q3 );
main ( )
{ int a
原创力文档

文档评论(0)