C语言从入门到精通————9.指针

认识指针、指针变量

指针——变量在内存中的存放地址。

指针变量——存放某一个地址的变量,其存放的值为一个地址。

举例:


如上图所示:

变量a的值为100,变量a的地址值为“0Xff61”

变量P的值为0Xff61,变量P的地址值为0Xff9c

由此可见,变量p为指针变量,它存放的是变量a的地址,而“0Xff61”是变量地址,同时也是a的指针。

指针变量的引用

(1)给指针变量赋值。如:

p=&a;

指针变量p的值是变量a的地址,p指向a。

2)引用指针变量指向的变量。

如果已经执行了“p=&a;”,即指针变量p指向了整形变量a,则

printf("%d",*p);

其作用是以整数形式输出指针变量p所指向的变量的值,即变量a的值。

如果有以下赋值语句:

*p=1;

表示将整数1赋给p当前所指向的变量,如果p指向变量a,则相当于把1赋给a,即“a=1”

(3)引用指针变量的值。如:

printf("%o",p);

以上代码的作用是以八进制的形式输出指针变量p的值,如果p指向了a,就是输出了a的地址,即&a。

两个与指针相关的运算符

(1)&————取地址运算符。&a是变量a的地址。

(2)*————指针运算符,*p代表指针变量p指向的对象。

使用指针变量做函数参数

指针变量可以用来做为函数的参数,表示将一个变量的地址传送给一个函数

举例:

void swap(int * p1,int *p2)
{
	int temp;
	temp=*p1;
	*p1=*p2;
	*p2=temp;
}

函数功能:交换指针p1、p2所指向的地址空间中的数值。

通过指针引用数组

数组元素的指针就是数组元素的地址。

可以使用一个指针变量来指向一个数组元素,例如:

int a[5]={1,2,3,4,5};      //定义数组a
int *p;                    //定义指针变量p
p=&a[0];                   //将a[0]元素的地址赋给指针变量p

引用数组元素时指针的变化特点

在指针指向数组元素时,可以对指针进行如下的运算:

加一个整数————用“+”或者“+=”,例如p+1

减一个整数————用“-”或者“-=”,例如p-1

自加运算————如P++

自减运算————如p--

两个指针相减——如p1-p2(只有p1和p2都指向一个数组中的元素时才有意义)。

引用一个数组元素的两种方法

(1)下标法:例如a[i]的形式。

(2)指针法:例如*(a+i)

通过指针变量引用字符串

代码实例:

#include "stdio.h"
int main(){

	char * string="I love China!";
	printf("%s\n",string);
	return 0;
}

运行结果:


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FLy_鹏程万里

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值