03-指针的基本概念及定义课件

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

8.1 指针的基本概念及定义8.1.1 指针的基本概念及定义8.1.2 指针变量的定义方法

指针的基本概念

问题1:对数组元素的访问

#include

int main()

{

int a[10], i;

for(i=0;i<10;i++)

scanf("%d", &a[i]);

for(i=0;i<10;i++)

printf("%3d",a[i]);

return 0;

}

12345 6 78910

a

a[0] a[1] a[9]

问题2:

函数参数的传递

#include

void swap(int m , int n ) {

int t;

t=m;

m=n;

n=t;

}int main( )

{

int a,b;

scanf("%d%d", &a , &b ); swap( a , b );

printf("%d,%d\n\n", a, b); return 0;

}

内存:就是内部存储器,是由存储单元组成的,它是线性连续的。存储单元的最小单位是字节。

内存地址按字节编号,其字长一般与主机相同。32位机使用32位地址,最多支持232字节内存(4G)。00000000

.

.

.

FFFFFFFF

4G内存

内存和地址

变量地址:系统分配给变量的内存单元的起始地址

程序中:int i; float k;

i k

i 的地址

k 的地址

…...

…...

00FF003C 0012FF440012FF40

…...

…...

通过变量名访问变量---直接寻址

int k ,s;

scanf(“%d”,&k);

变量的存取方法:直接寻址和间接寻址

通过指针对变量的访问-间接寻址int*pk;

pk=&k;

5

&k int*pk;

int k;

printf(“%d”,*pk);

5

s=3*k;

指针变量定义的一般形式:类型标识符*标识符

[例]:

int *p1;float *p2;

作用:定义变量为指针类型,使之专门用于存放所定义类型变量的地址。

指针所指的变量的类型

指针变量名

定义了一个指向整型的指针变量

定义了一个指向单精度实型的指针变量

指针声明符

指针变量的定义方法

说明:

* 用于定义指针变量,但指针变量名不包括*。

如:int*p; float *q;

定义的指针变量为p, q ,并不是*p,*q。

一个指针变量只能指向同一类型的变量。

如:p 只能用于指向整型变量

q 只能用于指向实型变量

无论指针变量指向何种类型,指针变量本身都是整型的,指针变量本身也有自己的地址,占四个字节的存储空间。

相关文档
最新文档