zoukankan      html  css  js  c++  java
  • c++ 数组 结构体

    接下来的一点时间我将会记录下我看的c++的一些心得体会,人贵在坚持,希望我可以一直坚持下去!!Go Fighting!
     

    一.c++复合数据类型:

    数组类型的一些注意事项:

    1. sizeof的用法:
    • 当用在数组名上时,例如int a[5];sizeof(a);得到的结果为5*sizeof(int);然而若是用在指向该数组的指针上时,例如int* b=a;sizeof(b);得到的结果为4(其实就是sizeof(int));
    • sizeof和strlen的区别:后者是用来测量字符串的长度的,其判断地依据是字符串结束后的''。strlen只是单纯的计算字符串的个数,且就算是用指针也可以得到字符串的个数!
    1. 数组不能将一个数组直接赋值给另外一个数组
    1. 字符串数组。char a[10],当给其用字符串初始化时,将会自动的在其后部添加'',且储存在字符串数组中的字符串的一些操作,合并,删减,需要函数strcpy,strcat等等,需加上头文件<cstring>,
    1. 字符串:字符串的使用必须加上头文件<string>,字符串之间可以直接赋值,string c,b="qq";c=b;类似于这样的,包括相应的字符串的增长可以通过加法实现,其长度可以通过c.size();类方法实现。
    2. 数组还有一些替代品

    vector类:在使用时首先要添加头文件<vector>,声明的格式是vector <typename> a(n);

     

    结构体的一些注意事项(struct):

    1. 结构体之间可以通过直接赋值的方法传递结构体中的值
    1 struct view
    2 {
    3     float a;
    4     int    b[2];
    5 };
    6 view x1 = { 1.0, { 1.0, 2.0 } };//结构体对象初始化个成员之间用,连接
    7 view  x2 = x1;//即便是数组也可以赋值
    1. 结构体也可以构建成结构体数组,结构体指针,其实可以将结构体看成一种变量类型,一种特殊的类,下面就这两种进行说明:
    1 view x1[2]={{ 1.1, { 1, 2 } }, { 1.2, { 3, 4 } }};
    2 view *x2 ;//或者view *x2=x1;
    3 x2 =&x1[0];//x2=x1,x1为一个数组其数组名字就代表地址。
    4 
    5 view x3 = { 1.3, {5,6} };
    6 view *x4;//或者view *x4=&x3;
    7  x4 =&x3;
    8 cout <<x4->a << endl;//结构体指针访问结构体成员用->

     共用体的一些注意事项:

    其实共用体就是一种能适应多种数据格式的数据类型。共用体可以储存多种数据类型,但是同时只能使用其中的一种。

    1 union view
    2 {
    3 int int_a;
    4 double double_b;
    5 }x1;
    6 x1.int_a=1;
    7 x1.double_b=2.2;//当使用double_b时int_a将不复存在
  • 相关阅读:
    MFC 简介
    C++使用thread类多线程编程
    C++中stack
    C++中头文件简介(stdio.h & chrono)
    别人写的很好Arduino教材
    Communicating to 2 SPI Slaves with USART & SPI ports on Atmega16U2
    HDU 2089 不要62(挖个坑=-=)
    HDU 3555 Bomb(数位DP)
    HDU 3480 Division(斜率优化+二维DP)
    HDU 3045 Picnic Cows(斜率优化DP)
  • 原文地址:https://www.cnblogs.com/yskn/p/8931675.html
Copyright © 2011-2022 走看看