美文网首页c/c++
C与C++的结构体和类

C与C++的结构体和类

作者: 程序员丶星霖 | 来源:发表于2020-09-03 17:45 被阅读0次

一、结构体

1.1、类型定义(typedef)

typedef用来给数据类型取新的名字。

示例:

#include <iostream>
using namespace std;

int main() {
    typedef int MYINT;
    MYINT a = 0;
    printf("%d\n",a);

    typedef char MYCHAR;
    MYCHAR b = 'A';
    printf("%c\n",b);
    return 0;
}

输出结果:

0
A

1.2、结构体

示例:

#include <iostream>
using namespace std;

int main() {
    struct {int x;int y;} point;
    point.x = 10;
    point.y = 15;
    printf("%d,%d",point.x,point.y);
    return 0;
}

输出结果:

10,15

使用typedef给结构体命名。

示例2:

#include <iostream>
using namespace std;
typedef struct {
    int x;
    int y;
} Point;

int main() {
    Point  point;
    point.x = 10;
    point.y = 15;
    printf("%d,%d",point.x,point.y);
    return 0;
}

输出结果:

10,15

不使用typedef也可以给结构体命名。

示例3:

#include <iostream>
using namespace std;
struct Point{
    int x;
    int y;
} ;

int main() {
    struct Point  point;
    point.x = 10;
    point.y = 15;
    printf("%d,%d",point.x,point.y);
    return 0;
}

输出结果:

10,15

1.3、指向结构体的指针

使用指针取出结构体的变量,不能使用.来取,而是使用->来取变量。

示例:

#include <iostream>
using namespace std;
typedef struct {
    int x;
    int y;
} Point;

int main() {
    Point  point;
    Point *p;
    p = &point;
    p->x = 10;
    p->y = 15;
    printf("%d,%d",p->x,p->y);
    return 0;
}

输出结果:

10,15

1.4、自引用结构

示例:

#include <iostream>
using namespace std;
typedef struct Point {
    int x;
    int y;
    struct Point* next;
} Point;

int main() {
    Point  p1,p2,p3,p4,p5;
    Point *p;
    p1.x = 1;p1.y = 0;
    p2.x = 4;p2.y = 1;
    p3.x = 2;p3.y = 4;
    p4.x = 3;p4.y = 2;
    p5.x = 1;p5.y = 6;

    p1.next = &p2;
    p2.next = &p3;
    p3.next = &p4;
    p4.next = &p5;
    p5.next = NULL;
    for (p = &p1;p!=NULL;p=p->next)
        printf("(%d,%d)\n",p->x,p->y);
    return 0;
}

输出结果:

(1,0)
(4,1)
(2,4)
(3,2)
(1,6)

我的博客:http://www.coderlearning.cn/

我的简书

我的微信公众号.jpg

相关文章

  • c++类相关

    c++结构体与c结构体的区别 c语言 c++ c++类的使用 类的权限管理 对类的成员的访问做限制 private...

  • C++中结构体

    C++中结构体并不是C中的结构体了 C++的结构体更像是一种特殊的类 他与类一样 可以有public privat...

  • 第九章 类和结构体

    c++中,结构体是稍有不同的类,类能做的,结构体也可以; 而swift中,结构体与类有较大区别, 结构体与类的区别...

  • 【GeekBand】Week01-类的简介

    关于类与C++ C++中的类与C语言中的struct(结构体)类似,所不同的是struct中的数据为public...

  • Texture之ASDisplayNodeInternal.h

    c++容器 c++类型:atomic_uint 罕见的c++语法 初始化结构体 c结构体 检查指定类是否重写了另一...

  • 面经---依依短租

    1. 结构体、共用体、类 C++中结构体与类的区别: 结构体中的成员访问权限不声明时候默认是 public 的,而...

  • C语言结构体赋值分析

    C++相比C语言的-大便利是类和结构体可以直接用等号赋值。C++为类和结构体提供了可自定义的赋值操作符opeart...

  • C++ 学习笔记:类的内存分配及this指针

    类,是使用C++的最主要的内容。如果将c++与C语言做比较,我感觉类更像是结构体的加强进化版。在刚接触C++不久的...

  • 类和构造函数

    类 什么是类 类是定义同一类所有对象的变量和方法的蓝图或原型 C++的类与结构的区别 在面向对象中,算法与结构体被...

  • C/C++ 不同

    首先一个不同就是C是不支持对象和class类的。 C 的结构体是struct。 C++扩充了C结构体的概念, 使得...

网友评论

    本文标题:C与C++的结构体和类

    本文链接:https://www.haomeiwen.com/subject/sfeosktx.html