C primer ++ 学习笔记第1篇——结构常识

//结构体 
struct inf   //inf声明结构体是可以省略 
{
char name[20];
float volume;
double price;
}
//结构体数组初始化
inf guest[2]=
{
{"bb",0.5,21.99},
{"ddsa",2000,20}
};
 
// 共用体是一种数据格式,他能够存储不同的数据类型,但是只能同时存储 其中一种类型
union one4all  //one4all可以省略 
{
int int_val;
long long_val;
double double_val;
};
//枚举
 enum specyrum {
  red,orange,yellow,green,blue,violet,indigo,ultraviolet
 };
 //specyrum被称为枚举,将red orange yellow 等作为符号常量,它们对应整数值0~7,只有这8个值 
 //可以用枚举名来申明这类变量 
 specyrum band;
 band =blue ;
 //枚举类型是整型,可被提升为int类型,但是int类型不能自动转化为枚举类型
 int color=blue;//强制转化成了int类型 
 band=3;//不能使用 
 color = 3 + red; //将red转化为int类型 
 //如果int值有效的,可以强制类型转换,将它赋给枚举变量
 band = specyrum(3);
  
 //对于枚举来说只有,只有声明中指出的那些值是有效的,C++现在通过强制类型转换,增加了可赋值给枚举变量的合法值 
 enum bits{
  one =1;two =2,four =4; eight =8 
 } ;
 bits myflag;
 my flag =bits(6);//这是合法的
 
//指针用于存储值的地址,因此,指针名表示的就是地址。*运算符被称为间接值或解除引用运算符,将其运用于指针,就可以得到该地址处存储的值
//声明一个指针
int * p_update; //int类型的指针,指向int的指针 
int * pn=new int;//声明指针,同时分配内存 
//或者
int higgens;
int * pt = &higgens;
//为一个数据对象(可以是结构,也可以是基本数据类型)获得并指定分配内存的通用格式如下:
typename *pointer_name =new typename; 
delete pointer_name;
 
 //新建动态数组
 int * psome =new int [10];
 delete [] psome;
  //使用new和delete ,应该遵循的规则
  //不要使用delete 释放不是new分配的内存
  //不要使用delete释放同一个内存块两次
  // 如果使用new[]来为数组分配内存,则使用delete []来释放
  //如果使用new []为一个实体分配内存,则应使用delete (没有方括号)来释放
  //对空指针应用delete是安全的
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值