c语言程序设计第五版指针ppt,C语言程序设计指针完整版.ppt

第九章;§9.1地址和指针的概念;内存单元的地址和内存单元的内容是两个不同的概念:

假设程序中定义了整型变量i,并赋值为3。编译时系统分配2000和2001两个字节给变量i,此时两个内存单元的编号为单元的地址,其中存放的数据即是该单元的内容。;间接访问方式: 将变量i的地址存放在另一个变量中,C语言规定,可以在程序中定义一种特殊的变量,用来存放地址。假设定义一个变量p,用来存放整型变量的地址,它被分配为3010、3011两个字节。; 一个变量的地址称为该变量的“指针”。如,地址2000是变量i的指针。 C语言中,用一个变量存放指针(地址),此变量称为指针变量,上述的变量p是指针变量,指针变量的值是某个内存单元 的地址(指针)。 严格地说,一个指针是一个地址,是一个常量;而一个指针变量却可以被赋予不同的指针值,是变量。但通常把指针变量简称指针。;§9.2 变量的指针和指向变量的指针变量; 为了表示指针变量和它所指向的变量之间的联系,在程序中用“ * ”符号表示“指向”。 若已定义i_pointer为指针变量,则* i_pointer是i_pointer所指向的变量,因此* i_pointer也代表一个变量,它和变量i是同一回事。;一、 指针变量的定义;说明:;二、 指针变量的引用;C语言提供两种有关的运算符:(1)&:取地址运算符 (用来表示变量的地址)(2)* :取内容运算符 (用来取其指向的内容,或称“间接 访问”运算符,或称指针运算符)两种运算符都是单目运算符,其结合性都为自右向左,优先级别相同。

例如:&a为变量a的地址, *p为指针变量p所指向的内存单元的内容 (即p所指向的变量的值)。;说明:;说明:;#include void 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);};#include void main( ){int a=5,b,c,*p; p=&a; b=*p; c=a+*p; printf(“%d,%d \n”,b,c);};说明:;三、 指针变量作函数参数;#includeswap(int *x,int *y){int t; t=*x; *x=*y; *y=t;}void main( ){int a=3,b=5; if(a

1.下标法:采用a[i]形式访问数组元素:2.指针法:采用*(pa+i)或*(a+i)形式,用间接访问的 方法来访问数组元素,即通过指向数组元 素的指针找到所需的元素。;按C语言的规定:如果指针p已指向数组中的一个元素,则p+1指向同一数组中的下一个元素,而不是将p的值(地址值)简单地加1。例如:数组元素是float型,每个元素占4个字节,则p+1意味着使p的值(地址值)加4个字节,以使它指向下一个元素,此时,p+1所代表的地址实际上是p+1 d,d是一个数组元素所占的字节数。;(1)下标法 #include void main( ){int a[10],i; for(i=0;i<10;i++) scanf(“%d”,&a[i]); printf(“\n”); for(i=0;i<10;i++) printf(“%d”,a[i]); printf(“\n”);};#include

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值