小郑的指针学习指南

本文详细介绍了C++中的指针操作,包括*p++、*++p的区别,以及动态内存分配的使用,如new、delete操作一维和二维数组。同时,讲解了malloc与realloc函数的用法,并强调了内存管理的重要性。

小郑的指针学习指南



前言

因为word记录好丑啊,所以打算写CSDN了!!存档那些知识点!!


一、指针们的类型

摘自谭浩强《c++程序设计》
在这里插入图片描述

二、加加减减让我想自杀

1.*p++ 和 *++p

C语言中 p++、++p、++*p 、(*p)++的区别
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议

代码如下 :

#include <iostream>
using namespace std;
void fun(char *a,char *b)
{
	a=b;//p1不再存放c1地址而是存c2地址了 
	(*a)++;
}
int main()
{
	char c1,c2;
	cin>>c1>>c2;
	char *p1=&c1,*p2=&c2;
	fun(p1,p2);
	cout<<c1<<c2;
}

样例:

//输入
A a
//输出
Ab

2.


三、动态分配内存

new & delete

一维数组分配内存

int n;
cin>>n;
int *p=new int[n];
delete []a;

二维数组分配内存

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

malloc函数

原函数 void* malloc(size_t size);
故不能写成p = malloc(sizeof(int));//会出现类型转换无效

//#include<stdlib.h>
int *p;
 p =(int *) malloc(10*sizeof(int));
 memset(p,0,10*sizeof(int));//初始化此段内存
 p =(int *)realloc(p,20*sizeof(int));//扩大内存
 free(p);//释放内存

总结

小郑依然很菜。
小郑今天先更新这么一点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值