Programa em C validar senha

gente, não sei quase nada de C. esse código não está compilando.
#include<stdio.h>
#include<stdlib.h>

int main (){
//caso a senha seja diferente de senha retorna a msg.
char senha;
char senha_padrao[] = “senha”;

printf("informe a senha\n");
scanf("%s",&senha);
if(senha==senha_padrao){
printf("pronto");	
}
else{
printf("A senha está incorreta");	
exit(0);
}
system("pause");

}

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

int main() {
  char senha[32];
  printf("Informe a senha: ");
  fgets(senha, 32, stdin);
  int ln = strlen(senha);
  senha[ln - 1] = 0;
  if (strcmp(senha, "senha") == 0)
    printf("Pronto!\n");
  else
    printf("A senha está incorreta\n");
  return 0;
}

Acho que em C, string é um dos assuntos mais difíceis, porque não tem suporte nativo da linguagem. Pra fazer direito, você tem que entender bem direitinho os idiomas que foram definidos pra lidar com strings. Deixe isso mais pra frente se puder, depois de entender mais o básico da linguagem.

man, vc pode me explicar esse código? não entendi nada.

scanf = “Scan Formatted”, ou “leitura formatada”. Você passa um const char* contendo o formato do que deve ser lido (mais detalhes aqui) e o endereço de memória onde a leitura deve ser gravada.

Com essa função você não tem controle da quantidade de chars que vão ser lidos e isso é perigoso. Por isso é melhor usar fgets, onde você lê uma string e especifica o tamanho máximo.