栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

指针初识1

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

指针初识1

C语言 10.25
指针
引出问题:
1.指针是什么?
2.指针怎么定义?怎么初始化?
3.指针怎么应用?

指针:等同于地址

数据类型 *变量名(指针名)
*号的不同使用场景:
1.定义指针的时候,是类型说明符(说明后面紧跟变量为指针变量)
2.解引用:通过
地址 可以访问到真实内存。
3.四则运算的乘号

前两种怎么区分:指针定义时表示类型说明 其他情况一般表示解引用

&号的不同使用场景:
1.取地址符(获取变量的地址)int *p=&a;表示
2.位操作

指针大小与类型没有关系只与系统有关 32位 4字节 64位 8字节.
32位如图

64位如图

练习1:

//练习1
#include
int main()
{
	int a = 0;
	int b = 0;
	int c = 0;
	//定义一个整型指针p1 指向整型变量a
	//int *p  = NULL;//野指针    13874381759
	
	int *p1 = &a;
	//定义一个整型指针p2 指向整型变量b
	int *p2 = &b;
	//定义一个整型指针p3 指向整型变量c
	int *p3 = &c;

	//通过指针p1,修改a的值为100;
	*p1 = 100;
	//通过指针p2,修改b的值为200;
	*p2 = 200;
	//通过指针p3,修改c的值为300;
	*p3 = 300;

	//实现 让c=a+b(不要使用a b c)
	*p3 = *p1 + *p2;
	//实现 让c=a/b(不要使用a b c)
	*p3 = *p1 / *p2;
	//实现 让c=c+1(不要使用a b c)
	*p3 = *p3+1;//*p3 += 1;

	//打印 a b c的值
	printf("%d %d %dn", *p1, *p2, *p3);
}

运行结果:

练习2:

//练习2
int main()
{
	char a;
	int b;
	double c;

	//定义一个指针p1 指向 a
	char *p1 = &a;
	//定义一个指针p2 指向 b
	int *p2 = &b;
	//定义一个指针p3 指向 c
	double *p3 = &c;
	//"abc"   =   char crr[4] = {'a', 'b', 'c', ''}
	//通过p1  修改a的值为‘w’
	*p1 = 'w';   
	//通过p2  修改b的值为 100
	*p2 = 100;
	//通过p3  修改c的值为 3.14
	*p3 = 3.14;
	//打印 a b c 三者值
	printf("%c %d %fn", *p1,*p2,*p3);
}

运行结果:

练习3:

#include
//练习3 交换函数 三种错误写法Swap1 Swap2 Swap3
void Swap1(int a, int b)//error  经典的值传递
{
	int tmp = a;
	a = b;
	b = tmp;
}

void Swap2(int* pa, int* pb)
{
	int* tmp = pa;
	pa = pb;
	pb = tmp;
}

void Swap3(int* pa, int* pb)//
{

	int* tmp=0;//野指针  悬挂指针  或者NULL 都保存
	*tmp = *pa;
	*pa = *pb;
	*pb = *tmp;
}

void Swap(int* pa, int* pb)
{
	int tmp;
	tmp = *pa;
	*pa = *pb;
	*pb = tmp;
}
int main()
{
	int a = 10;![在这里插入图片描述](https://img-blog.csdnimg.cn/b3f12a4013ed43ec9e755744958f7739.jpg?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBATWkgZW1tbW1t,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)

	int b = 20;
	Swap(&a, &b);
	printf("%d %dn", a, b);
}

运行结果:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/352469.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号