复习C——指针

指针变量存储的不是变量,而是变量的地址。
指针是c的精髓

指针和指针变量

1.通过变量的地址可以找到该变量所在的存储空间,所以说该变量的地址指向该变量所在的存储空间,该地址是指向该变量的指针。
2.定义:变量类型* 变量名
3.初始化:
(1)接受变量的地址;

int a=10;
int* p;
p=&a;

(2)与其他指针变量指向同一块存储空间;

int *q;
q=p;

(3)定义时同时赋值。

int a=10;
int* p=&a;

&(取址运算符):取变量所在的地址
*(取值运算符):取出变量指向的地址中存储的数据
4.指针变量的引用
根据指针变量存放的地址,访问该地址对应的变量:*指针变量名

#include<stdio.h>
int main(){
	int a=10;
	int* p=&a;
	printf("%d\n",*p); 
	return 0;
}

5.补充
(1)不确定指针在何时何处使用时,可以让它指向空

int* p=0;//0时唯一不必转换就可以赋值给指针的数据 
int* q=null;//null是一个宏定义,其作用与0一样 

(2)无类型指针:void* ;

	void *p=NULL,*q;//定义两个无类型指针,其中一个指向null
	int* m=(int*)p;
	int a=10;
	q=&a; 

指针作为函数参数

因为实参和形参之间的数据传递是单向的值传递,所以使用指针变量作为函数的形参,通过传递地址的方式,使形参和实参都指向主调函数中数据所在地址,从而使被调函数可以对主调函数中的数据进行操作。

指针的交换

1.指针指向交换;

#include<stdio.h>
int main(){
	int *temp=0;
	int a=10,b=20;
	int* p =&a;
	int* q =&b;
	temp=p;
	p=q;
	q=temp; 
	printf("%d\n",*p);
	printf("%d",*q);
}

2.指针所指地址中存储数据的交换。

#include<stdio.h>
int main(){
	int a=10,b=20;
	int* p =&a;
	int* q =&b;
	int temp=0;
	temp=*p;
	*p=*q;
	*q=temp; 
	printf("%d\n",*p);
	printf("%d",*q);
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值