zoukankan      html  css  js  c++  java
  • c/c++学习笔记(10)

    结构基本知识

      结构是一个或者多个变量的集合,这些变量可以为不同的类型。ANSI标准在结构方面最主要的变化是定义了结构的赋值操作:拷贝、赋值、传递给函数、函数返回结构类型的值。

      结构声明如下:

    View Code
    1 struct point
    2 {
    3     int x;
    4     int y;
    5 };

      结构也可以跟其他的基本类型声明一样,如:

    View Code
    1 struct {...} x, y, z;

      我们可以使用以下的方式进行结构的初始化,如:

    View Code
    1 struct point minPoint = {0, 0};
    2 //或者
    3 struct point minPoint;
    4 minPoint.x = 0;
    5 minPoint.y = 0;

      另外,结构也是可以嵌套的,如:

    View Code
    1 struct rect
    2 {
    3     struct point minPoint;
    4     struct point maxPoint;
    5 };

    结构与函数

      在函数中使用结构主要包括3种方式:1、传递结构的成员;2、传递整个结构;3、传递结构的指针。与C#类似,参数名和结构名相同是不会引起冲突的。代码如下:

    View Code
     1 struct point{
     2     int x;
     3     int y;
     4 } pt = {0, 0};
     5 //方式1
     6 void fn(int x, int y)
     7 {
     8     //coding
     9 }
    10 
    11 fn(pt.x, pt.y);
    12 
    13 //方式2
    14 void fn(struct point point)
    15 {
    16     //coding
    17 }
    18 
    19 fn(pt);
    20 
    21 //方式3
    22 void fn(struct point *point)
    23 {
    24     //coding
    25 }
    26 
    27 fn(&pt);

      对于使用结构指针的时候,可以使用如下方式调用结构成员,如:

    View Code
    1 void fn(struct point *pt)
    2 {
    3     //方式1:
    4     (*pt).x = 10;//括号是必须要的因为.的优先级比*高
    5     (*pt).y = 20;
    6     //方式2:
    7     pt -> x = 10;
    8     pt -> y = 20;
    9 }

    结构数组

      根据普通的数组差不多,暂时还没发现要点,呵呵.

      今天的学习就到这里,明天继续,加油!

  • 相关阅读:
    王者荣耀_KEY
    月亮之眼_KEY
    编号中的数学_KEY
    BZOJ1854_游戏_KEY
    BZOJ1059_矩阵游戏_KEY
    最小覆盖_KEY
    Dijkstra堆优化学习
    LuoguP1196_银河英雄传说_KEY
    BZOJ1207_打鼹鼠_KEY
    Codevs1380没有上司的舞会_KEY
  • 原文地址:https://www.cnblogs.com/ahl5esoft/p/2533557.html
Copyright © 2011-2022 走看看