Olá Durub, Obrigada! Arrumei o erro eu estava declarando 2 vezes o struct cadastro cad e o struct cadastro* p. Estou apontando o p para cad para inicializar o ponteiro. Agora está funcionando, porém estou continuando o cadastro e quero fazer várias fichas com todos os campos que eu tenho. No caso, acho que seria só criar assim: struct cadastro cad[15]; Minha dúvida é, como faço para acessar cada campo de cada cadastro? Tentei algo como gets(p[0] -> nome); Mas isso não é possível. Como devo acessar? O código atualizado segue abaixo, desculpe por não usar o codebox, mas ele não está funcionado para mim. bj, Eliane  #include<stdio.h> #include<conio.h>  struct cadastro /* cria a estrutura cadastro e define suas variaveis */  {   	char nome[30]; 	char cargo[20]; 	char sexo; 	char cidade [30]; 	char estado [2]; 	int codigo; 	int telefone; 	int cpf; 	int idade;	 	int salario;   };  struct cadastro cad; /* cria a variavel global cad do tipo estrutura 			   com todos os campos definidos em cadastro */  struct cadastro *p=&cad; /*cria um ponteiro para a estrutura e inicializa                            com o endereco de cad*/     void listagem(struct cadastro *p)  {    printf("Nome:%s", p -> nome);    printf("\nPressione ENTER para continuar");    getch();    main();  }  void inclusao(void)  {     printf("Digite o nome completo: ");     fflush(stdin);	     gets(p -> nome);     printf("Nome cadastrado com sucesso, pressione ENTER para continuar.");     getch();     main();  }  void exclusao(void)  {     printf("EXCLUSAO.");     getch();  }  void alteracao(void)  {     printf("ALTERACAO.");     getch();  }   void menu(int opcao)  {        	switch(opcao) 	{ 	    case 1: inclusao(); 	  	    break; 	    case 2: exclusao(); 	            break; 	    case 3: alteracao(); 		    break; 	    case 4: listagem(p); 		    break;  	}  }     main() {   int opcao;   clrscr();   printf("CADASTRO\n");   printf("============================\n\n");   printf("\t\t 1 INCLUSAO\n\t\t 2 EXCLUSAO\n\t\t 3 ALTERAR\n\t\t 4 LISTAGEM\n\t\t 5 SAIR\n\n");   do   {       printf("Qual a sua opcao? ");       scanf("%d", &opcao);       if ((opcao < 1) || (opcao > 5))       { 	printf("Opcao invalida.  ");       }       else       {        menu(opcao);       }   }   while ((opcao < 1) || (opcao > 5));   return 0; }