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

struct LRC
{
    int lineNo;         // 行号
    char show_time[10]; // 歌词时间
    char content[128];  // 歌词内容
} line1, line2;         // 第一行歌词，第二行歌词

#define slrc struct LRC // 定义别名

int main()
{
    // line1.content = "天青色等烟雨，而我在等你"; // 错误，不能这样赋值，因为 content 是数组，不能直接赋值
    // 正确写法是使用 strcpy 函数

    line1.lineNo = 1;
    // 使用 strcpy 函数，将内容复制到结构体变量中成员的数组空间中
    strcpy(line1.show_time, "00:00:01");
    strcpy(line1.content, "天青色等烟雨，而我在等你");
    line2.lineNo = 2;
    // 使用 strcat 也能达成同样的效果
    strcat(line2.show_time, "00:00:06");
    strcat(line2.content, "炊烟袅袅升起，隔江千万里");

    printf("%d %s %s\n", line1.lineNo, line1.show_time, line1.content);
    printf("%d %s %s\n", line2.lineNo, line2.show_time, line2.content);

    // 创建第三行
    slrc line3 = {.lineNo = 3, .show_time = "00:00:11", .content = "在瓶底书汉隶仿前朝的飘逸"};
    printf("%d %s %s\n", line3.lineNo, line3.show_time, line3.content);

    slrc line4 = line3; // 结构体变量之间可以直接赋值
    line4.lineNo = 4;
    // line4.content = "加个字"; // 错误，不能这样赋值，因为 content 是数组，不能直接赋值
    strcat(line4.content, "加个字");
    printf("%d %s %s\n", line4.lineNo, line4.show_time, line4.content);

    return 0;
}