指针

指针的了解,解应用

指针

指针:指针是一种保存变量地址的变量,利用地址,通过地址能找到所需的变量,可以说,地址指向该变量。因此,将地址形象化的称为“指针”。(想要使用指针必须传指针解引用

#include<stdio.h>
int main()
{
	char arr='A';
	char *p;
	p=&arr;
	printf("0x%x\n", &p);  
    printf("0x%x\n", p);    
    printf("0x%x\n", &arr);   
    printf("%d\n", *p);     
	return 0;
}

结果如下:
在这里插入图片描述

指针的解引用

== 在功能函数中改变变量的值必须要传指针和解引用!!!==
正确的使用方法如下:

void Swap(int *i,int *j) //正确的解应用
{
	int tmp;
	tmp=*i;
	*i=*j;
	*j=tmp;
}
以下是错误的指针使用方法

1:没有传指针也没有解引用。

void Swap_err1(int i,int j) //
{
	int tmp;
	tmp=i;
	i=j;
	j=tmp;
}

2:传了指针,但是没有解引用。

void Swap_err2(int *i,int *j) //没有解引用就没有改变值
{
	int *tmp=i;
	i=j;
	j=tmp;

3:野指针:野指针是指调用了不允许调用的地址,野指针是一种非法调用。

void Swap_err3(int *i,int *j)//
{
	int *tmp;
	*tmp=*i;
	*i=*j;
	*j=*tmp;
}

空指针

还有一种比较特殊的指针叫做空指针,空指针是一个特殊的指针变量,表示不指向任何东西。可以通过给一个指针赋一个零值来生成一个空指针。
代码及结果如下:

#include<stdio.h>
int main()
{
	 int *p = NULL;//NULL是空,零的意思
    printf("p的地址为: %d\n",p);
	return 0;
}

结果如下:
可以看到指针指向内存地址0
可以看到指针指向内存地址0,内存地址0有一个特别重要的意义,它表明该指针(空指针)不指向一个可访问的内存位置。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值