一篇文章搞懂指针和指针运算(指针初阶)

本文详细介绍了C语言中的指针,包括指针的概念、类型、本质、指针移动、初始化、指针运算及其特性。重点讨论了指针运算中的指针++、指针--以及指针之间的减法操作,并通过实例解析了如何利用指针计算字符串长度。同时强调了指针初始化的重要性,以避免野指针导致的程序不稳定。最后简要提及了二级指针的概念。
摘要由CSDN通过智能技术生成

想要搞明白指针,就要从基础下手。

指针概念

要先了解什么是指针?

它是一种变量类型,用来存储其他变量的内存地址。通过指针,我们可以间接地访问一个变量,修改它的值,或者将其作为参数传递给函数。通过指针,程序可以直接操作内存,这样就能够更有效地管理内存和数据。指针还能够被用来构建复杂的数据结构,如链表、树等。虽然指针可能会让程序变得更加复杂,但是它也提供了更高的灵活性和效率,因此是程序员需要掌握的重要概念之一。

指针类型

比较常见的指针类型有这几种:

整型指针:int * p;

字符指针:char * p;

浮点型指针:double *p;

短整型指针:short * p;

无类型指针(万能指针):void * p;

指针本质

指针的本质仅仅只是一个地址而已,所占内存大小和整型一样,随系统不同而不同,虽然有很多类型的指针,类型只是决定了在操作指针时在内存如何移动,或者说在内存中如何访问

printf("%d", sizeof(char*));
printf("%d", sizeof(int*));
printf("%d", sizeof(short*));
printf("%d", sizeof(void*));

sizeof函数可以让我们看到指定内容所占内存的大小,单位是字节,不难发现他们的结果是一样的

没错就是你所操作系统的一个地址的大小

指针类型只决定了在指针运算时移动的字节数!!!

指针类型只决定了在指针运算时移动的字节数!!!

指针类型只决定了在指针运算时移动的字节数!!!

指针移动

上代码解释!

int main()
{
	int arr[10] = { 0 };
	char ch[10] = { 0 };

	//指针的类型
	int *pa = arr;
	char *pb = ch;
	printf("%p\n", pa); // 98
	printf("%p\n", pa
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值