Creio que onde explica "A sintaxe para declarar outras structs do tipo “struct Funcionario” é", na "struct secretaria;" faltou o "Funcionario".
A apostila é ótima. Parabéns pelo excelente trabalho.
21 de junho de 2013 às 21:15
Anônimo disse...
Estou cursando engenharia de produção na usp são carlos e tenho problemas com computação haha... mas devo admitir que seus tutoriais são muito melhores do que qualquer explicação de minha professora até agora (: Muitíssimo obrigado!
Quando do exemplo de declaração de uma struct porquê a variável tipo char *nome foi declarada como ponteiro? struct Funcionario { int idade; -----> char *nome;<----- float salario; };
Você cria uma string, através de alocação dinâmica de memória por exemplo, e faz esse ponteiro de char apontar pra essa string.
Quando a gente faz isso, esse ponteiro aponta pro endereço do primeiro char da string.
30 de agosto de 2013 às 07:11
Anônimo disse...
o site é exelente! com uma lingaugem fácil turna o complicado em descomplicado! pro site ficar perfeito só falta ter em cada sessão uma lista de exercicios com respostas.
6 de novembro de 2013 às 14:35
Anônimo disse...
#include
struct computador {
int ano; char tipo_cpu[10]; }; typdef struct computador EC; //declaraçao da funçaoo EC ReceberDados(EC s)
int main(void) {EC modelo; modelo = receberdados(modelo); printf("ano:%d\n",modelo.ano); printf("tipode cpu:%s\n",modelo.tipo_cpu);
reeturn exit_success } EC receberdados(Ec s) { printf("tipo da cpu?\n"); gets (s.tipo_cpu); printf("ano de fabricaçao?\n"); scanf("%d", &.ano);
return s;
ola gostaria de entender este programa pois a parte que esta EC Receberdado n entendi o q ela faz gostaria q me explicasse o programa obrigado
27 de novembro de 2013 às 08:27
Anônimo disse...
Pode ser uma dúvida boba, mas, qual a diferença entre declarar a estrutura antes e depois do int main?
1 de abril de 2015 às 06:13
Anônimo disse...
Se declarar antes ela será uma variavel global rodando em todo o programa e caso coloque dentro de main será uma variavel local
14 de julho de 2015 às 21:39
Agora que explicamos no tutorial passado sobre o que são as structs, para que servem e onde usá-las, vamos explicar como usar ditas cujas estruturas.
Nesse tutorial de C vamos ensinar você a declarar,
preencher os elementos da struct, acessar e trabalhar com os elementos de
qualquer struct.
Leia este tutorial no seu computador ou celular: Apostila C Progressivo
Como declarar uma struct em C
struct Nome_de_sua_struct
{
tipos
nome_dos_tipos;
};
Vamos declarar, como exemplo, uma struct para representar
os dados dos funcionários:
struct Funcionario
{
int
idade;
char
*nome;
float
salario;
};
O tipo struct
Podemos ver as structs como um tipo de dado.
Por exemplo, “Funcionario”, que foi declarado
anteriormente, pode ser visto como um novo de tipo de variável. É uma variável,
ou um tipo, que define os funcionários.
Essa visão, de que criamos um novo tipo de variável, é
tão certa que é possível criar e declarar mais variáveis do tipo “struct Funcionario”.
A sintaxe para declarar outras structs do tipo “struct Funcionario”
é:
struct Funcionario empregado1;
struct Funcionario chefe;
struct Funcionario secretaria;
É aí que reside a beleza e importância das structs.
Note que no momento da criação do modelo da struct “Funcionario”,
declaramos um inteiro, uma string e um float dentro da struct.
Assim, todas as structs do tipo “Funcionario” terão uma
variável inteira, uma string e um float.
Sempre que declaramos uma nova struct desse tipo, essas
variáveis são automaticamente
criadas e terão essas variáveis. O que é uma verdadeira mão na roda.
Outra maneira de declarar variáveis de um tipo struct que
queremos, é criar esses elementos após as chaves na hora de criar a struct Funcionario.
Veja:
struct Funcionario
{
int
idade;
char
*nome;
float
salario;
}empregado1, chefe, secretaria;
Pronto, agora existem 3 variáveis do tipo “struct
Funcionario”: ‘empregado1’, ‘chefe’ e ‘secretaria’.
No próximo tutorial de nosso curso de C, vamos mostrar como acessar e alterar os elementos da struct, além de mostrar um exemplo através de um exercício resolvido e comentado.
postado por Programação Progressiva às 18:46 em 17 de mar. de 2013
11 Comentários
Fechar esta janela Ir para formulário de comentárioonde diz "... criar esses elementos após os colchetes na ..." não seria após fechar a chaves?
19 de abril de 2013 às 08:23
Opa! Pequeno deslize!
Muitíssimo obrigado pela contribuição, amigo.
Esperamos que ninguém tenha se prejudicado...
19 de abril de 2013 às 18:03
Creio que onde explica "A sintaxe para declarar outras structs do tipo “struct Funcionario” é", na "struct secretaria;" faltou o "Funcionario".
A apostila é ótima. Parabéns pelo excelente trabalho.
21 de junho de 2013 às 21:15
Estou cursando engenharia de produção na usp são carlos e tenho problemas com computação haha... mas devo admitir que seus tutoriais são muito melhores do que qualquer explicação de minha professora até agora (:
Muitíssimo obrigado!
1 de julho de 2013 às 13:44
Ótimos tutoriais !!
11 de julho de 2013 às 13:44
Quando do exemplo de declaração de uma struct porquê a variável tipo char *nome foi declarada como ponteiro?
struct Funcionario
{
int idade;
-----> char *nome;<-----
float salario;
};
30 de agosto de 2013 às 06:25
Olá Tiago,
Ponteiro de char é muito usado em strings.
Você cria uma string, através de alocação dinâmica de memória por exemplo, e faz esse ponteiro de char apontar pra essa string.
Quando a gente faz isso, esse ponteiro aponta pro endereço do primeiro char da string.
30 de agosto de 2013 às 07:11
o site é exelente! com uma lingaugem fácil turna o complicado em descomplicado! pro site ficar perfeito só falta ter em cada sessão uma lista de exercicios com respostas.
6 de novembro de 2013 às 14:35
#include
struct computador {
int ano;
char tipo_cpu[10];
};
typdef struct computador EC;
//declaraçao da funçaoo
EC ReceberDados(EC s)
int main(void)
{EC modelo;
modelo = receberdados(modelo);
printf("ano:%d\n",modelo.ano);
printf("tipode
cpu:%s\n",modelo.tipo_cpu);
reeturn exit_success
}
EC receberdados(Ec s)
{
printf("tipo da cpu?\n");
gets (s.tipo_cpu);
printf("ano de fabricaçao?\n");
scanf("%d", &.ano);
return s;
ola gostaria de entender este programa pois a parte que esta EC Receberdado n entendi o q ela faz gostaria q me explicasse o programa obrigado
27 de novembro de 2013 às 08:27
Pode ser uma dúvida boba, mas, qual a diferença entre declarar a estrutura antes e depois do int main?
1 de abril de 2015 às 06:13
Se declarar antes ela será uma variavel global rodando em todo o programa e caso coloque dentro de main será uma variavel local
14 de julho de 2015 às 21:39