指针的算术运算--自增自减运算

本文详细探讨了C++中指针的算术运算,特别是自增和自减操作符的使用。通过实例分析了指针自增自减在遍历数组、动态内存管理和指针算术中的应用,揭示了指针运算背后的内存机制和潜在陷阱,为程序员提供了深入理解指针操作的关键知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述

#include <stdio.h>
#include <stdlib.h>

int main(void){
	int age[] = {1, 2, 3, 4};
	int p = sizeof(age)/sizeof(age[0]);

	//用数组的方式来访问
	for(int i=0; i<p; ++i){
		printf("%d ", age[i]);
	}

	printf("\n");

	//打印数组地址 和第一个成员地址
	printf("数组地址:0x%p  第一个元素地址:0x%p\n\n", age, &age[0]);//完全一样

	//用指针访问元素
	//访问第一个元素
	int *p1 = age;
	printf("第一个元素:%d\n\n", *p1);

	//访问第二个元素  第二个元素地址
	//++p1;
	printf("第二个元素:%d  第二个元素地址:0x%p\n\n", *p1+1, p1+1);

	for(int i=0; i<p; ++i){
		printf("数组第%d个元素是%d  元素地址是:0x%p\n", i+1, *p1, p1);
		p1++;
	}
	printf("--------------------------------\n");
	
	char age1[]={1, 2, 3, 4};
	char *ip = age1;

	for(int i=1; i<=4; ++i){
		printf("数组第%d个元素是:%d 元素地址是:0x%p\n", i, *ip, ip); 
		ip++;
	}
	//总结: ip++ 的概念是在 ip 当前地址的基础上 ,自增 ip 对应类型的大小 ip等于ip加1*(sizeof(类型))

	system("pause");
	return 0;
}
//让用户输入一个字符串,然后反向输出
//注意:不能改变原来的字符串! * 如: "12345" 逆转成 "54321" 输出 */

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(void){
	char age[128];
	int len;
	char tem;
	printf("输入逆转数字:");
	scanf_s("%s", age,128);  //防止输入数字过多

	len = strlen(age);

	//方法一 前后交换
	for(int i=0; i<len/2; ++i){
		tem = age[i];
		age[i] = age[len-1-i];
		age[len-1-i] = tem;
	}
	printf("逆转之后数字是:%s\n\n", age);
	

	//方法二  数组
	printf("输入逆转数字:");
	scanf_s("%s", age,128);  //防止输入数字过多
	printf("逆转之后数字是:");
	for(int i=0; i<len; i++){
		printf("%c", age[len-1-i]);
	}
	printf("\n\n");

	//方法三  指针
	char *p = &age[len-1];
	printf("输入逆转数字:");
	scanf_s("%s", age,128);  //防止输入数字过多
	printf("逆转之后数字是:");
	for(int i=0; i<len; i++){
		printf("%c", *p--);
	}
	printf("\n");

	system("pause");
	return 0;
}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值