我是靠谱客的博主 活泼苗条,最近开发中收集的这篇文章主要介绍c++基础之new和delete(动态数组、动态结构体)1. new和delete2. 动态数组 ,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
1. new和delete
1.1 基本概念
1.2 new和delete使用规则
1.3代码实例
#include <iostream>
using namespace std;
//new和delete运算符
int main()
{
//使用new 分配一个int类型的空间
int* p = new int;
*p = 100;
cout << *p << endl;
//使用完了以后对内存进行释放
delete p;
//释放的是p指向的内存,但是不会删除指针变量p本身,p可以重新指向另一个新分配的内存块。
return 0;
}
2. 动态数组
#include <iostream>
using namespace std;
//创建动态数组
int main()
{
//typeName* parr=new typeName[元素的个数]
//int num = 10;
// int arr[num]; //会报错,这种方式创建数组要求括号中是常量值
//int* p = new int[num]; //这样是可以的
int* p = new int[5];
//对动态数组进行操作
*p = 10;
p[1] = 20;
cout << p[0] << endl;//10
cout << p[1] << endl;//20
cout << p[2] << endl;//不确定值
//释放动态数组的内存
delete[] p;
return 0;
}
3. 动态结构体
#include <iostream>
#include<string>
using namespace std;
//创建动态结构体
//定义一个结构体
struct student {
string name;
int age;
double height;
};
int main()
{
//student stu = { "tom",20,178.5 }; //普通结构体变量
//student* p_stu = &stu; //指针类型
//动态结构体
student* p_stu = new student;
//访问方式1
(*p_stu).name = "hello";
(*p_stu).age = 18;
(*p_stu).height = 178.5;
cout << (*p_stu).name << "t" << (*p_stu).age << "t" << (*p_stu).height << endl;
//访问方式2
p_stu->name = "kitty";
p_stu->age = 20;
p_stu->height = 180.0;
cout << p_stu->name << "t" << p_stu->age << "t" << p_stu->height << endl;
//如果标识符是一个指针类型的变量,那么应该使用箭头运算符
delete p_stu;
return 0;
}
最后
以上就是活泼苗条为你收集整理的c++基础之new和delete(动态数组、动态结构体)1. new和delete2. 动态数组 的全部内容,希望文章能够帮你解决c++基础之new和delete(动态数组、动态结构体)1. new和delete2. 动态数组 所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复