Строка присваивания в C

Я новичок в Си. Назначение строк в следующем коде работает:

#include<stdio.h>
int main(void){
  char str[] = "string";
  printf("%s\n",str);
}

Но это не работает в следующем, даже я даю номер индексаname[]:

#include <stdio.h>
int main(void){
  struct student {
    char name[10];
    int  salary;
  };
  struct student a;
  a.name[10] = "Markson";
  a.salary = 100;
  printf("the name is %s\n",a.name);
  return 0;
}

Почему это происходит?

Ответы на вопрос(4)

Ваш ответ на вопрос