真不知道该怎么办了,这结构体变量咋键入啊

 ###### 问题遇到的现象和发生背景
如图,自己编程序想搞懂结构体的使用,运行时键入内容进去存储再选择是否输出,但键入内容后报错也不知道咋改。

img


 ###### 问题相关代码

#include <stdio.h>
#include <stdlib.h>
typedef struct {
    char name1;
    char number[13];
    char pw1[7];
    char kt[30];
}SA ;
typedef struct{
    char *name2;
    char phone;
    char pw2;
    }TC;

void main()
{
    int t;
    
    TC *P,a;
    printf("请输入您的姓名,工号,密码\n");
    scanf("%s %s %s",&a.name2,&a.phone,&a.pw2);
    printf("设置成功!");
printf("输入1查看您的信息");
    scanf("%d",&t);
    if (t==1){
        printf("%s%s%s",a.name,a.phone,a.pw2);
}
}

 ###### 运行结果及报错内容

img


如果鼠标点击运行,键入后就出现Run-Time Check Failure #2 - Stack around the variable 'a' was corrupted.

 ###### 我的解答思路和尝试过的方法
把main函数int,void都试过,都不行
 ###### 我想要达到的结果
代码正常运行,键入姓名工号密码后能在后续输入1的情况下输出信息