千家信息网

C语言结构体中的char数组怎么赋值

发表于:2024-09-30 作者:千家信息网编辑
千家信息网最后更新 2024年09月30日,这篇文章主要介绍了C语言结构体中的char数组怎么赋值,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。前景提示定义一个结构体,结构体中有
千家信息网最后更新 2024年09月30日C语言结构体中的char数组怎么赋值

这篇文章主要介绍了C语言结构体中的char数组怎么赋值,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

    前景提示

    定义一个结构体,结构体中有两个变量,其中一个是char类型的数组,那么,怎么向这个数组中插入数据,打印数据呢?

     typedef struct SequenceList {        // 数组的元素        char element[20];        // 数组的长度        int length;};

    定义一个结构体,结构体中有两个变量,其中一个是char类型的数组指针,那么,怎么向这个数组中插入数据,打印数据呢?

     // 定义顺序表结构体typedef struct SequenceList {        char *elment;        int length;};

    这里的结构体处理的步骤

    • 结构体初始化

    • 结构体内数据赋值

    • 结构体内输出数据

    本着上述的原则,先对第一种类型进行操作

    一.char数组类型的处理

    1.结构体初始化

             SequenceList L;        L.element = (char*)malloc(sizeof(char)*10);        L.length  = 10

    2.结构体内数据赋值(简单法)

        L.elment[0] = 1;    L.elment[1] = 2;    L.elment[2] = 3;    L.elment[3] = 4;    L.elment[4] = 5;

    for循环

          for (int i = 0; i < 10; i++)    {        L.elment[i] = i+1;    }

    3.结构体内输出数据

      for (int i = 0; i < 10; i++)    {        //不会打印空值        if (L.elment[i]>0) {            printf("element[%d] = %d\n",i, L.elment[i]);        }    }

    二.char数组指针类型的处理

    1.结构体初始化

       //结构体初始化   MyList L;   L.length = LENGTH;   L.elment = (char*)malloc(L.length * sizeof(char));

    2.结构体内数据赋值

        //结构体赋值    for (int i = 0; i < LENGTH; i++)    {        *(L.elment + i) = 'A' + i;    }

    3.结构体内输出数据

       //打印结构体中的值    for (int i = 0; i < LENGTH; i++)    {        if (*(L.elment + i) > 0) {            printf("elment[%d] = %c\n", i, *(L.elment + i));        }    }

    三.全部代码

    1. char数组

    // 010.顺序表_004.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//#include #define MAXSIZE 10 typedef struct SequenceList {        // 数组的元素        char element[MAXSIZE];        // 数组的长度        int length;};int main(){        // 1.初始化结构体        SequenceList *L;        L = (SequenceList*)malloc(sizeof(char)*MAXSIZE);        L->length = MAXSIZE;         // 2.存入结构体内值        for (int i = 0; i < MAXSIZE; i++)        {                L->element[i] = 'a' + i;        }         // 3.打印结构体内的值        for (int i = 0; i < MAXSIZE; i++)        {                if (*(L->element + i) > 0) {                        printf("elment[%d] = %c\n", i, *(L->element + i));                }        }}

    2. char数组指针

    // 011.顺序表_005.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//#include #define MAXSIZE 10typedef struct SequenceList {        // 数组的元素        char *element;        // 数组的长度        int length;}; int main(){        // 1.结构体初始化        SequenceList L;        L.length = MAXSIZE;        L.element = (char*)malloc(L.length * sizeof(MAXSIZE));         // 2.结构体内赋值        for (int i = 0; i < MAXSIZE; i++)        {                *(L.element + i) = 'a' + i;        }                // 3.打印结构体中的值        for (int i = 0; i < MAXSIZE; i++)        {                if (*(L.element + i) > 0) {                        printf("elment[%d] = %c\n", i, *(L.element + i));                }         }}

    感谢你能够认真阅读完这篇文章,希望小编分享的"C语言结构体中的char数组怎么赋值"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

    0