Linux C语言基础 day8

目录

思维导图:

学习目标:

学习内容:

1. 字符数组

1.1 二维字符数组

1.1.1 格式

1.1.2 初始化

1.1.3 二维字符数组输入输出、求最值、排序

2. 函数

2.1 概念

关于函数的相关概念

2.2 函数的定义及调用

2.2.1 定义函数的格式

2.3 函数的分类

1. 无参无返回值函数

2、有参无返回值函数

3、无参有返回值函数

4、有参有返回值函数

例如:

课堂练习:

课外作业:


思维导图:


学习目标:

例如:

  • 一周掌握 C基础知识

学习内容:

1. 字符数组

1.1 二维字符数组

1.1.1 格式

        char 数组名[常量1][常量2];

        常量1:表示的是定义的字符串的个数

        参数2:表示的是每个字符串的最大长度+1

1.1.2 初始化

        1、单字符初始化:该方式跟二维整形数组一致

        2、字符串初始化:

                全部初始化:char arr[3][8] = {"apple", "banana", "orange"}; arr[0] arr[1] arr[2]

                特殊初始化:char arr[ ][8] = {"apple", "banana", "orange"}; //此时省略的第一维,会根据初始化字符串的个数确定

                部分初始化:char arr[5][8] = {"apple", "banana", "orange"}; //没有初始化的字符串 默认为空串

1.1.3 二维字符数组输入输出、求最值、排序

例如:

#include<stdio.h>
#include<string.h>
#define MAX 5
int main(int argc, const char *argv[])
{
    char arr[MAX][20]={""};
    char brr[MAX][20]={""};
    for (int i = 0; i < MAX; i++)
    {
        printf("请输入第%d个字符串:", i+1);
        scanf("%s", arr[i]);
    }
    //输出所有的字符串
    printf("目前的字符串分别是:");
    for(int i=0; i<MAX;i++)
    {
        printf("%s\t", arr[i]);
    }
    puts("");
    char max[20]={""};
    stpcpy(max,arr[0]);
    for(int i=0;i<MAX;i++){
        if(strcmp(max,arr[i])){
            strcpy(max,arr[i]);
        }
    }
    printf("最大字符串为:%s\n", max);
    //将所有字符串进行排序
    char temp[20]={""};
    for(int i=0;i<MAX;i++){
        for ( int j= 0; j < MAX-i; j++)
        {
            if(strcmp(arr[j],arr[j+1]) > 0){
                strcpy(temp,arr[i]);
                strcpy(arr[i],arr[i+1]);
                strcpy(arr[i+1],temp);
            }
        }
       
    }
     //输出排序后的结果
    printf("目前的字符串分别是:");
    for(int i=0; i<MAX;i++)
    {
        printf("%s\t", arr[i]);
    }
    puts("");
}

2. 函数

2.1 概念

        将能实现某些功能的代码封装成代码块,然后通过通过代码块的名字就能调用到该部分的代码,这样,在多次相同操作的场景下,可以减少由于重复代码导致的劳动量,这个代码块,就是函数,代码块的名字,就是函数名。

        例:strlen strcpy printf scanf atoi。

关于函数的相关概念

        主调函数:调用别的函数的函数叫做主调函数

        被调函数:被别的函数调用的那个函数称为被调函数

        形式参数:也称形参,定义函数时,括号里面的参数称为形参

        实际参数:也称实参,函数调用时,括号里面的参数称为实参

2.2 函数的定义及调用

2.2.1 定义函数的格式

        返回值类型 函数名(函数的形参列表){ 函数体; }

2.3 函数的分类

1. 无参无返回值函数

        该函数,仅仅只是单纯执行特定的代码,没有数据传入,也不需要返回结果,仅仅只是执行一个过程 函数定义格式: void 函数名(void) {} 例如:void print_menu(void);

2、有参无返回值函数

        该函数,需要主调函数传入给定的数据后,才能进行执行该功能,但是,执行结束后,没有返回结果 函数定义格式:void 函数名(形参列表) {} 例如:void print_arr(int arr[], int n);

3、无参有返回值函数

        该函数无需外界传入数据,直接执行内部语句,并且执行结束后,会向主调函数返回一个确定的数据 函数定义格式:返回值类型 函数名(void){} 例如:int getchar(void);

4、有参有返回值函数

        该函数需要外界提供对应的参数,执行函数体代码后,并向主调函数返回一个确定的值 函数定义格式:返回值类型 函数名(参数列表) {} 例如:int strlen(char *src);

例如:

#include<myhead.h>

//定义菜单函数
void print_menu()
{
        printf("\t\t======1、无参无返回值函数======\n");
        printf("\t\t======2、有参无返回值函数======\n");
        printf("\t\t======3、无参有返回值函数======\n");
        printf("\t\t======4、有参有返回值函数======\n");
        printf("\t\t======0、退出======\n");
}

//定义无参无返回值函数
void sum_1(void)
{
    int num,key;
    printf("请输入两个数:");
    scanf("%d%d", &num, &key);
    int sum = num + key;          //求两数的和
    printf("sum = %d\n", sum);
}

//定义有参无返回值函数
void sum_2(int m, int n)
{
    int sum = m+n;        //将传入的两个数据求和

    printf("sum = %d\n", sum);        //输出结果

}

//定义无参无返回值函数
int sum_3()
{
    int num,key;
    printf("请输入两个数:");
    scanf("%d%d", &num, &key);
    int sum = num + key;          //求两数的和

    //将求出的和值,返回值给主调函数使用
    return sum;
}

//定义有参有返回值函数
int sum_4(int m, int n)
{
    int sum = m+n;

    return sum;
}

/************************主程序****************************/
int main(int argc, const char *argv[])
{
    //做个菜单
    int menu = 0;
    while(1)
    {
        print_menu();           //调用菜单函数

        printf("请输入>>>");
        scanf("%d", &menu);
        getchar();

        //多分支选择
        switch(menu)
        {
        case 1:
            {
                sum_1();      //调用无参无返回值函数
            }
            break;

        case 2:
            {
                int num,key;         //这两个数据是主调函数中的
                printf("请输入两个数:");
                scanf("%d%d", &num, &key);    

                sum_2(num, key);        //调用有参无返回值函数

            }
            break;
        case 3:
            {
                //要求调用一个函数,不传递任何数据
                //并且要得到该函数的结果,由主调函数输出
                int sum = sum_3();      //无参有返回值函数调用

                printf("sum = %d\n", sum);
            }
            break;
        case 4:
            {
                int num,key;         //这两个数据是主调函数中的
                printf("请输入两个数:");
                scanf("%d%d", &num, &key);    
                
                int sum = sum_4(num, key);          //调用有参有返回值函数
                
                printf("sum = %d\n", sum);

            }
            break;
        case 0: goto END;
        default:printf("您输入的功能有误,请重新输入\n");
        }
    }

END:

    return 0;
}


课堂练习:

#include<stdio.h>
void print_menu()
{
        printf("\t\t======1、第一题======\n");
        printf("\t\t======2、第二题======\n");
        printf("\t\t======3、第三题======\n");
        printf("\t\t======0、退出======\n");
}
void max1(int num,int key){
    if(num > key){
        printf("最大值为%d\n",num);
    }else
    {
        printf("最大值为%d\n",key);
    }
    
}
int max2(){
    int a[5]={0};
    for (int  i = 0; i < 5; i++)
    {
        printf("请输入该数组的第%d个值",i+1);
        scanf("%d",&a[i]);
    }
    printf("\n");
    int max1=a[0];
    for(int i=0;i<5;i++){
        for(int j=0;j<5;j++){
            if(max1 < a[j]){
                max1=a[j];
            }
        }
    }
    return max1;
    
}
int con(int a,int b,int c){
    if((a+b)<=c || (a+c)<=b || (c+b)<=a){
        return -1;
    }else if (a==b && b==c && c==a)
    {
       return 2;
    }else if (a==b || b==c || c==a )
    {
       return 1;
    }else
    {
        return 0;
    }
}
int main(int argc, char const *argv[])
{
     int menu=0;
    while (1)
    {
    print_menu();
    printf("请输入>>>");
    scanf("%d", &menu);
    getchar();  
    switch(menu)
    {
    case  1:{
    int num,key;        
    printf("请输入两个数:");
    scanf("%d%d", &num, &key);
    max1(num,key);}
    break;
    case 2:
    {
    int max1=max2();
    printf("最大值为%d\n",max1);
    }
    break;
    case 3:
    {
        int x=0,y=0,z=0;
        while (1)
        {   
        printf("请输入三角形的三条边:");
        scanf("%d%d%d",&x,&y,&z);
        int a=con(x,y,z);
        if(a==-1){
            printf("不能构成三角形,请重新输入\n");
        }else if (a==0)
        {
            printf("构成普通三角形\n");
            break;
        }else if (a==1)
        {
            printf("构成等腰三角形\n");
            break;
        }else if (a==2)
        {
            printf("构成等边三角形\n");
            break;
        }
        }
        
    }
    break;
    case 0: goto END;
    default:printf("您输入的功能有误,请重新输入\n");
    }
    }
    END:
    return 0;
    }
 


课外作业:

完成学生管理系统

1> 使用菜单完成

2> 有学生的信息录入功能:输入学生个数,并将学生的姓名、分数录入

3> 查看学生信息:输出所有学生姓名以及对应的分数

4> 求出学习最好的学生信息:求最大值

5> 按姓名将所有学生进行升序排序

6> 按成绩将学生学生进行升序排序

要求每个功能使用函数完成

解析:

方法一:

#include<stdio.h>
#include<string.h>
#define MAX 50
char names[MAX][50];
int scores[MAX];
int count = 0;
void print_menu();                                 //菜单
void enterstu();                                        // 学生信息录入
void findstu();                                          // 查看所有学生信息
void findtopstu();                                  // 寻找学习成绩最好的学生
void sortnamestu();                             // 按姓名将学生进行升序排序
void sortscorestu();                                // 按成绩将学生进行升序排序


int main(int argc, char const *argv[])
{
   //做个菜单
    int menu = 0;
    while(1)
    {
        print_menu();           //调用菜单函数

        printf("请输入>>>");
        scanf("%d", &menu);
        getchar();

        //多分支选择
        switch (menu)
        {
        case 1:
        enterstu();
        break;
        case 2:
        findstu();
        break;
        case 3:
        findtopstu();
        break;
        case 4:
        sortnamestu();
        break;
        case 5:
        sortscorestu();
        break;
        case 0: goto END;
        default:printf("您输入的功能有误,请重新输入\n");
        }
    }
END:
return 0;
}

//菜单
void print_menu()
{
        printf("\t\t======1、学生信息录入======\n");
        printf("\t\t======2、查看学生信息======\n");
        printf("\t\t======3、查看成绩最好的学生(姓名加成绩)======\n");
        printf("\t\t======4、按姓名将所有学生就行升序排序======\n");
        printf("\t\t======5、按成绩将所有学生就行升序排序======\n");
        printf("\t\t======0、退出======\n");
}
// 学生信息录入
void enterstu(){
    printf("请输入学生个数:");
    scanf("%d",&count);//输入学生个数
    for(int i=0;i<count;i++){
    printf("输入第%d个学生姓名:",i+1);
    scanf("%s", names[i]);
    if (strcmp(names[i], "\n") == 0) {  //换行
        return;
    }
    printf("输入学生分数:");
    scanf("%d", &scores[i]);     
    }
}
// 查看所有学生信息
void findstu(){
    for(int i=0;i<count;i++){
        printf("学生姓名:%s成绩:%d\n",names[i],scores[i]);                //输出学生姓名以及对应的成绩
    }
    printf("\n");
}
// 寻找学习成绩最好的学生
void findtopstu(){
    int top = 0;
    for (int i = 0; i < count; i++)
    {
       if(scores[top] < scores[i] ){
           scores[top] = scores[i];                 //寻找成绩最高的学生
       }
    }
    printf("最好成绩学生姓名为:%s,成绩为%d。\n",names[top],scores[top]);                  //输出最好成绩的学生姓名和成绩
}
// 按姓名将学生进行升序排序
void sortnamestu(){
    char temp[MAX];
    int tempx=0;
    for (int i = 1; i < count; i++)
    {
       for (int j = 0; j < count - i; j++)
       {
           if(strcmp(names[j],names[j+1]) > 0){               //进行交换三部曲
               strcpy(temp,names[j]);
               strcpy(names[j],names[j+1]);
               strcpy(names[j+1],temp);
               tempx = scores[j];
               scores[j]=scores[j+1];
               scores[j+1]=tempx;
           }
       }
      
    }
     findstu();
}
// 按成绩将学生进行升序排序
void sortscorestu(){
    char temp[MAX];
    int tempx=0;
    for (int i = 1; i < count; i++)
    {
       for (int j = 0; j < count - i; j++)
       {
           if(scores[j] > scores[j+1]){                                    //进行交换三部曲
               strcpy(temp,names[j]);
               strcpy(names[j],names[j+1]);
               strcpy(names[j+1],temp);
               tempx = scores[j];
               scores[j]=scores[j+1];
               scores[j+1]=tempx;
           }
       }
    }
        findstu();   
}
 

方法二:

#include <stdio.h>
#include <string.h>

#define MAX 5

// 函数声明
void print_menu();
void enterstu(char students[][50],int scores[], int *count);
void findstu(char students[][50],int scores[], int count);
void findtopStu(char students[][50], int scores[], int count, int top);
void sortnamestu(char students[][50], int scores[], int count);
void sortscorestu(char students[][50], int scores[], int count);

int main() {
    char students[MAX][50];
    int scores[MAX];
    int count = 0;
    int top=0;
    int menu=0;

while(1)
    {
        print_menu();           //调用菜单函数

        printf("请输入>>>");
        scanf("%d", &menu);
        getchar();

        //多分支选择
        switch (menu)
        {
        case 1:
        enterstu(students,scores, &count);

        break;
        case 2:
        findstu(students,scores, count);
        break;
        case 3:
        findtopstu(students, scores, count, top);
        break;
        case 4:
        sortnamestu(students, scores, count);
        break;
        case 5:
        sortscorestu(students, scores, count);
        break;
        case 0: goto END;
        default:printf("您输入的功能有误,请重新输入\n");
        }
    }
END:
return 0;
}
//菜单
void print_menu()
{
        printf("\t\t======1、学生信息录入======\n");
        printf("\t\t======2、查看学生信息======\n");
        printf("\t\t======3、查看成绩最好的学生(姓名加成绩)======\n");
        printf("\t\t======4、按姓名将所有学生就行升序排序======\n");
        printf("\t\t======5、按成绩将所有学生就行升序排序======\n");
        printf("\t\t======0、退出======\n");
}
// 学生信息录入
void enterstu(char students[][50],int scores[], int *count) {
    printf("输入学生个数:");
    scanf("%d", count);
    for (int i = 0; i < *count; i++) {
        printf("输入学生 #%d 的姓名:", i + 1);
        scanf("%s", students[i]);
        printf("输入学生 #%d 的分数:", i + 1);
        scanf("%d", &scores[i]);
    }
}

// 查看所有学生信息
void findstu(char students[][50], int scores[],int count) {
    for (int i = 0; i < count; i++) {
        printf("姓名:%s 分数:%d\n", students[i], scores[i]);
    }
}

// 寻找学习最好的学生
void findtopstu(char students[][50], int scores[], int count, int top) {
    for (int i = 0; i < count; i++)
    {
       if(scores[top] < scores[i] ){
           scores[top] = scores[i];                 //寻找成绩最高的学生
       }
    }
    printf("最好成绩学生姓名为:%s,成绩为%d。\n",students[top],scores[top]);                //输出最好成绩的学生姓名和成绩
}

// 按姓名将学生进行升序排序
void sortnamestu(char students[][50], int scores[], int count) {
    char temp[MAX];
    int tempx=0;
   for (int i = 1; i < count; i++)
    {
       for (int j = 0; j < count - i; j++)
       {
           if(strcmp(students[j],students[j+1]) > 0){               //进行交换三部曲
               strcpy(temp,students[j]);
               strcpy(students[j],students[j+1]);
               strcpy(students[j+1],temp);
               tempx = scores[j];
               scores[j]=scores[j+1];
               scores[j+1]=tempx;
           }
       }
      
    }
    printf("按姓名排序后的学生信息:\n");
    findstu(students, scores,count);
}

// 按成绩将学生进行升序排序
void sortscorestu(char students[][50], int scores[], int count) {
    char temp[MAX];
    int tempx=0;
   for (int i = 1; i < count; i++)
    {
       for (int j = 0; j < count - i; j++)
       {
           if(scores[j] > scores[j+1]){               //进行交换三部曲
               strcpy(temp,students[j]);
               strcpy(students[j],students[j+1]);
               strcpy(students[j+1],temp);
               tempx = scores[j];
               scores[j]=scores[j+1];
               scores[j+1]=tempx;
           }
       }
      
    }
    printf("按成绩排序后的学生信息:\n");
    findstu(students, scores,count);
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/792317.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Android高级——Logger日志系统

Logger日志系统 Logger日志系统是基于内核中的Logger日志驱动程序实现将日志记录保存在内核空间中使用一个环形缓冲区来保存日志&#xff0c;满了之后&#xff0c;新的日志就会覆盖旧的日志 日志类型 main&#xff0c;记录应用程序级别system&#xff0c;记录系统级别radio&…

Vue3打包发布,刷新出现的空白页面和错误

Vue3打包发布出现的错误&#xff1a;Failed to load module script: Expected a JavaScript module script but the server responded with a MIME type of text/html. Strict MIME type checking is enforced for module scripts per HTML spec. 第一次点击访问到这个路径&…

北斗GPS天线使用技巧与性能对比

北斗GPS天线使用中注意的问题 多系统兼容性&#xff1a;确保天线不仅能接收北斗信号&#xff0c;还能同时接收其他GNSS系统&#xff08;如GPS、GLONASS、Galileo&#xff09;的信号&#xff0c;以提高定位精度和可靠性。 信号频率选择&#xff1a;根据应用需求选择合适的信号…

MFC Ribbon菜单 - 中英文实时切换方法

简介 最近在搞一个老外的项目&#xff0c;本来谈的好好的&#xff0c;纯英文界面。项目接近尾声了&#xff0c;又提出了中英文实时切换的新需求&#xff0c;没办法就只能想办法&#xff0c;毕竟客户最大嘛。 实现方法 还好本来的ribbon英文菜单不复杂&#xff0c;就用纯C编码…

谷歌插件之一键关闭同域名页面

欢迎来到我的博客&#xff0c;代码的世界里&#xff0c;每一行都是一个故事 &#x1f38f;&#xff1a;你只管努力&#xff0c;剩下的交给时间 &#x1f3e0; &#xff1a;小破站 谷歌插件之一键关闭同域名页面 前言项目结构mainfest.jsonbackgroud.js 项目实现效果展示展望 前…

【手把手教你使用cgroup配置,十分钟就会】

手把手教你使用cgroup配置&#xff0c;十分钟就会 什么是cgroupcgroup中的参数概念及原理 以 memory为例看下如何配置配置内存限制写一个内存申请脚本执行脚本测试结束语 什么是cgroup cgroups 是Linux内核提供的一种可以限制单个进程或者多个进程所使用资源的机制&#xff0c…

论文降痕降重全攻略:从技巧到工具,助你轻松应对学术挑战

AIGC降重工具&#xff1a;快速降低论文查重率 高查重率是许多毕业生的困扰。通常&#xff0c;高查重率源于过度引用未经修改的参考资料和格式错误。传统的降重方法&#xff0c;如修改文本和增添原创内容&#xff0c;虽必要但耗时且成效不一。 鉴于此&#xff0c;应用AI工具进…

未来互联网的新篇章:深度解析Web3技术

随着技术的不断演进&#xff0c;Web3正逐渐成为引领未来互联网发展的关键驱动力。本文将深入探讨Web3技术的核心概念、关键特征以及其对未来互联网生态的深远影响&#xff0c;旨在帮助读者全面理解和把握这一新兴技术的发展方向和潜力。 1. Web3的基本概念和演进 Web3并非简单…

WindChill软件许可优化解决方案

WindChill软件介绍 WindChill作为PLM系统&#xff0c; 提供了帮助制造商在产品生命周期的各个阶段管理自己的产品的完整功能&#xff0c;其功能强大、高性能的体系结构正是为当今的全球环境而设计的&#xff0c;帮助公司提高生产效率并改善产品质量和性能。 WindChill许可问题…

每日一练 - 理解IGMP组播组信息

下面是路由器 RTB 的部分输出信息&#xff0c; 关于输出信息描述错误的是A.接口上动态加入的组播组个数是 1 B.加入的组播组地址是 225.1.1.2 C.dsplay igmp group 命令用来查看 IGMP 组播组信息,包括通过成员报告动态加入的组播组和通过命令行静态加入的组播组信息 D.最后发…

让你的终端出现花哨明了的打印

本文代码使用较为简单&#xff0c;主要就是为了高亮打印&#xff0c;直接用即可 代码如下&#xff1a; /*** file cout.h* author BigDavid* brief * version 0.1* date 2024-07-10* * copyright Copyright (c) 2024* */ #pragma once #include<stdio.h>#include<uni…

自学鸿蒙HarmonyOS的ArkTS语言<六>警告弹窗AlertDialog和列表选择弹窗ActionSheet

一、警告弹窗 ... Button(点击我可以获取一个警告弹窗).onClick(() > {AlertDialog.show({title: 我是弹窗标题,subtitle: 我是副标题,message: 我是弹窗内容,autoCancel: true, // 点击遮罩层是否关闭alignment: DialogAlignment.Center, // 弹窗位置offset: { dx: 0, dy:…

手机通讯录大营救,恢复sim卡联系人的3个重要方法

在数字化世界的浩瀚海洋中&#xff0c;手机通讯录就像一艘承载着人际关系的生命之船。然而&#xff0c;当这艘船遭遇风浪&#xff0c;即sim卡上的联系人信息意外丢失时&#xff0c;我们该如何进行一场惊心动魄的大营救&#xff0c;找回那些珍贵的联系人呢&#xff1f;别担心&am…

springboot服装购物商城系统-计算机毕业设计源码35058

摘要 服装购物商城系统小程序&#xff0c;依托Spring Boot框架的强大支持&#xff0c;为用户呈现了一个功能丰富、体验流畅的在线购物平台。该系统不仅涵盖了商品展示、用户注册登录、购物车管理、订单处理、支付集成等核心购物流程&#xff0c;还引入了个性化推荐算法&#xf…

排序(一)——冒泡排序、直接插入排序、希尔排序(BubbleSOrt,InsertSort,ShellSort)

欢迎来到繁星的CSDN&#xff0c;本期的内容主要包括冒泡排序(BubbleSort&#xff09;&#xff0c;直接插入排序(InsertSort)&#xff0c;以及插入排序进阶版希尔排序&#xff08;ShellSort&#xff09;。 废话不多说&#xff0c;直接上正题&#xff01; 一、冒泡排序 冒泡排序…

Lumos学习王佩丰Excel第四讲:排序与选择

一、排序 1、简单排序&#xff1a;不要选中一列排序&#xff0c;不然只是局部排序&#xff0c;其他数据都会发生错乱。 2、多条件排序 3、2003版本中超过3个排序条件时如何处理&#xff1a;从最后一个条件到第一个条件倒着按照要求依次排序。 4、按颜色排序 5、自定义排序次序…

探索Kotlin:从K1到K2

人不走空 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌赋&#xff1a;斯是陋室&#xff0c;惟吾德馨 嘿&#xff0c;小伙伴们&#xff01;今天我们来聊聊Kotlin&#xff0c;这个在安卓开发圈里越来越火的编程语言。…

YoloV8改进策略:卷积篇|Kan行天下之GRAM,KAN遇见Gram多项式V2版本

GRAM&#xff08;GRAM可能是一个新提出的模型或方法的缩写&#xff0c;这里我们根据上下文进行解释&#xff09;受到诸如TorchKAN和ChebyKAN等Kolmogorov-Arnold网络&#xff08;KAN&#xff09;替代方案的启发。GRAM引入了一种简化的KAN模型&#xff0c;但同时利用了Gram多项式…

paddla模型转gguf

在使用ollama配置本地模型时&#xff0c;只支持gguf格式的模型&#xff0c;所以我们首先需要把自己的模型转化为bin格式&#xff0c;本文为paddle&#xff0c;onnx&#xff0c;pytorch格式的模型提供说明&#xff0c;safetensors格式比较简单请参考官方文档&#xff0c;或其它教…

Docker存储目录问题,如何修改Docker默认存储位置?(Docker存储路径、Docker存储空间)etc/docker/daemon.json

文章目录 如何更改docker默认存储路径&#xff1f;版本1&#xff08;没测试&#xff09;版本2&#xff08;可行&#xff09;1. 停止 Docker 服务&#xff1a;2. 创建新的存储目录&#xff1a;3. 修改 Docker 配置文件&#xff1a;4. 移动现有的 Docker 数据&#xff1a;5. 重新…