指针收获

11.18
收获
1.
指针也有int ,char,float等类型;
定义时必须指定
int *p;
p代表这个地址,
*是取值符
*p代表在p这个地址储存的值
2.
指针变量作为函数参数

#include<stdio.h>
#include<stdlib.h>
int swap(int *p1, int *p2);
int main()
{
	int *pointer_1, *pointer_2;
	int a, b;
	scanf_s("%d%d", &a, &b);
	pointer_1 = &a;
	pointer_2 = &b;
	if(a<b)
	 swap(pointer_1, pointer_2);//交换
	printf("%d > %d", a, b);
	system("pause");
}
int swap(int *p1,int  *p2)
{
	printf("please waiting...\n");
	int temp;
	temp = * p1;
	*p1 = * p2;
	*p2 = temp;

}

3.
int *p;
int a[10];
p=a;等价于p=&a[0];
*p=a[0];
11.19
在这里插入图片描述
1.
两个指针变量可以相减:

#include<stdio.h>
#include<stdlib.h>
int main()
{
	int a[10] = { 1,2,3,4,5,6,7,8,9,0 };
	int *p1, *p2;
	int p;
	p1 = &a[3];
	p2 = &a[6];
	p = *p1 - *p2;
	printf("%d\n", p);
	system("pause");
}

p = p1 - p2; 或者p = * p1 - * p2;
输出的p为 a[6] - a[3] 的值。

2.
指正运算:
p++, p–, p+i, p-i, p+=i; p-=i;等均是指针变量加(减一个整数)。
将该指针变量的原值(是一个地址)和它指向的变量所占用的储存单元的字节数相加(减)。
11.21
两个指针变量的比较
若两个指针指向同一个数组的元素,则可以进行比较。指向前面的元素的指针变量“小于”指向后面元素的指针变量。
指针变量可以有空值
例如:
#define NULL 0
int *p;
p=NULL;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值