结构体、指针、数组

结构体

结构体是一种自定义的数据类型,由多个不同数据类型的成员组成。我们可以使用结构体来表示复杂的数据结构,例如一个学生的信息,一个图形的坐标等等。结构体的每个成员可以是任何数据类型,包括基本数据类型和其他结构体类型。我们可以根据需要为结构体命名,并在需要使用这个结构体类型的地方使用该名称。

下面是一个示例代码,定义了一个学生的结构体类型,并使用该类型定义了一个学生变量:

#include <stdio.h>

struct student {
    char name[20];
    int age;
    float score;
};

int main() {
    struct student stu = {"Tom", 18, 90.5};
    printf("Name: %s, Age: %d, Score: %.2f\n", stu.name, stu.age, stu.score);
    return 0;
}

在这个例子中,我们定义了一个名为student的结构体类型,它包含三个成员:name、age和score,分别表示学生的姓名、年龄和成绩。然后,我们使用该结构体类型定义了一个名为stu的学生变量,并初始化其成员的值。最后,我们使用printf函数输出了学生的信息。

指针

指针是一种数据类型,它可以指向任何数据类型的内存空间,包括基本数据类型、结构体类型、数组类型和函数类型等。指针可以帮助我们访问和修改内存中的数据,它是C语言中非常重要的概念。指针可以通过指针变量来声明和定义,并可以使用各种指针运算来访问和修改内存中的数据。

下面是一个示例代码,定义了一个整型变量和一个指向该变量的指针,并使用指针修改了该变量的值:

#include <stdio.h>

int main() {
    int num = 10;
    int *p = &num;
    *p = 20;
    printf("Num: %d\n", num);
    return 0;
}

在这个例子中,我们定义了一个整型变量num,并初始化其值为10。然后,我们定义了一个指向num的指针变量p,并将其初始化为num的地址。接下来,我们使用指针运算符*来访问指针所指向的内存空间,并将其值修改为20。最后,我们使用printf函数输出了num的值,发现它已经被修改为20了。

数组

数组是一种数据类型,它由相同数据类型的元素组成,这些元素按照一定的顺序排列。数组的每个元素可以是任何数据类型,包括基本数据类型和其他数据类型。数组可以帮助我们存储和处理大量的数据,例如一个学生的成绩、一组图形的坐标等等。我们可以使用数组来代替多个变量,从而简化程序的编写和维护。

下面是一个示例代码,定义了一个整型数组,并使用for循环遍历数组并输出每个元素的值:

#include <stdio.h>

int main() {
    int arr[5] = {1, 2, 3, 4, 5};
    for (int i = 0; i < 5; i++) {
        printf("arr[%d] = %d\n", i, arr[i]);
    }
    return 0;
}

在这个例子中,我们定义了一个名为arr的整型数组,并初始化其值为{1, 2, 3, 4, 5}。然后,我们使用for循环遍历数组,并使用printf函数输出。

总结

1.结构体,指针都是数据类型中的一员,抛开其特殊的点,
它们其实和int char…这些无异,在定义一个变量的时候用法,格式都一样

与其他数据类型不同的是:
    结构体是可以程序员自定义的,那些基本数据类型都可以作为积木构造各式各样的结构体来满足程序员的需求
    创建的每一个结构体都要为其命名
    以后要用到这个结构体的时候,起的名字就当作数据类型(纯C语法必须在前面加上struct关键字,cpp语法中可省略)

2.指针,顾名思义,它的功能就像一个指针一样,为计算机指向对应的内存空间(可以指向任何内存空间内的数据结构,包括函数)
在不加任何限定的情况下(比如const),可以对指向的内存空间的数据进行读写,修改

3.数组,任何数据类型都可以作为单位元素组成数组,只要一个数组的所有元素都属于一个数据类型就好

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值