Ir para conteúdo
Fórum Script Brasil
  • 0

Duas Dúvidas


hlegius

Pergunta

Olá galerinha do C!

Seguinte tenho duas dúvidas básicas e gostaria de saber se alguém teria a bondade de me ajudar...

1 . Matriz ?

int var[12];

O que esse 12 dentro dessa matriz ou vetor unidimensional significa ?não é o máximo de caracteres..

Pois eu fiz assim:

# include <stdio.h>

main(){

int t[12];

scanf("%s",&t);

printf("O resultado é %s\n",t);

}

E fiz um teste digitando: 1234567891011121314 e apareceu normal... não sakei essa parada... e se eu retira-lo da erro de Segmentation fault

2 . Como compilar o programa para .exe ?

Pois estou no Linux .. e se eu fazer:

$gcc -o ./pasta/destino/aplicativo.exe fonte.c não daria certo, então existe algum parametro a ser passado para se gerar .exe para ser executado no Windows ?

Por hora é só...

brigadão por pelo menos ter lido o post tongue.gif

até... smile.gif

Link para o comentário
Compartilhar em outros sites

11 respostass a esta questão

Posts Recomendados

  • 0

Acontece que você so leu uma vez, você teria que ler 12 vezes pra prencher os doze alocamentos da matriz, entendeu? normalmente se faz isso usando laço for, tipo assim:

for(a=0;a<=11;a++)

{

printf("Digite o a+1 valor:");

scanf("%d", & mat[a]);

}

Ai ele aloca doze valores na matriz, entendeu mais ou menos?

O a e o indice da matriz, ou seja, esta mostrando aonde o dado esta sendo alocado, entendeu?

Link para o comentário
Compartilhar em outros sites

  • 0
2 . Como compilar o programa para .exe ?

Pois estou no Linux .. e se eu fazer:

$gcc -o ./pasta/destino/aplicativo.exe fonte.c não daria certo, então existe algum parametro a ser passado para se gerar .exe para ser executado no Windows ?

Sim, isso dá certo. Porém você vai criar um "aplicativo.exe" que só funciona no próprio Linux (uma vez que no Linux *não* é a extensão que define se um arquivo é "executável" ou não). Códigos C/C++ são portáveis (funcionam em diversas plataformas) no sentido que você *precisa* compilar o código na plataforma que você quer executá-lo. Se você quer um executável Linux, compile no Linux. Se você quer um executável Win32, compile no Windows. E assim por diante.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

uh...

Vamos por partes ok?

1 . então para eu usar somente um indice da minha matriz, eu faria:

var[1] já seria o suficiente para resgatar uma string digitada pelo usuário ?

De uma forma direta:

var[3]

seria: var[0] um valor (começa o indice do 0 no C ? ) ; var[1] armazena uma valor x ; var[2] outro valor ; var[3] outro valor

Agora, a respeito da compilação ..

Então eu pensei nisto, mas como eu poderia passar um aplicativo para um conhecido meu rodar no Windows dele... ?

Tipo quando você compila ele vira um programa, e não depende mais do compilador C para funcionar, ele está pronto para execução, então se isso for verdade, suponhamos:

Eu fiz um aplicativo;

Tenho um colega que usa Windows, e gostaria de mostrar o aplicativo a ele;

Porém ele não tem o compilador C;

Logo ?

vlw pessoal pelas respostas!

até... smile.gif

Link para o comentário
Compartilhar em outros sites

  • 0

É isso ae, no C quanto no C++ começa a contar do 0 mesmo então por isso ali em cima ele usou 11 mesmo pois daria 12 espaços do mesmo jeito.

Link para o comentário
Compartilhar em outros sites

  • 0

1 . então para eu usar somente um indice da minha matriz, eu faria:

var[1] já seria o suficiente para resgatar uma string digitada pelo usuário ?

De uma forma direta:

var[3]

seria: var[0] um valor (começa o indice do 0 no C ? ) ; var[1] armazena uma valor x ; var[2] outro valor ; var[3] outro valor

Sim, começa do 0. E isso não é exatamente uma "matriz", mas sim um "vetor" (porque só tem uma dimensão).

Agora, a respeito da compilação ..

Então eu pensei nisto, mas como eu poderia passar um aplicativo para um conhecido meu rodar no Windows dele... ?

Tipo quando você compila ele vira um programa, e não depende mais do compilador C para funcionar, ele está pronto para execução, então se isso for verdade, suponhamos:

Eu fiz um aplicativo;

Tenho um colega que usa Windows, e gostaria de mostrar o aplicativo a ele;

Porém ele não tem o compilador C;

Logo ?

Logo *você* compila no Windows e envia esse executável para ele.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

Sim, começa do 0. E isso não é exatamente uma "matriz", mas sim um "vetor" (porque só tem uma dimensão).

ah beleza... mas tipo vetor não é uma matriz de uma coluna só ? tipo ?

sendo que a matriz é armazenada na memória de forma sequencial ? tipo:

[a] b vem logo após de a na memória ?

huahau... pergunta de exatas ... hehe...

Logo *você* compila no Windows e envia esse executável para ele.

Agora que eu me toquei ...

Quando compilado no Linux ele é preparado para rodar sob Linux ... pois a estruitura que o compila é especial para Linux ... hehe.. eu tava brizando!

vlw!

É isso ae, no C quanto no C++ começa a contar do 0 mesmo então por isso ali em cima ele usou 11 mesmo pois daria 12 espaços do mesmo jeito.

Vlw cara.. eu nem reparei no 11 ali ...

até... smile.gif

Link para o comentário
Compartilhar em outros sites

  • 0
Sim, começa do 0. E isso não é exatamente uma "matriz", mas sim um "vetor" (porque só tem uma dimensão).

ah beleza... mas tipo vetor não é uma matriz de uma coluna só ? tipo ?

sendo que a matriz é armazenada na memória de forma sequencial ? tipo:

[a] b vem logo após de a na memória ?

huahau... pergunta de exatas ... hehe...

Sim, isso também é viável de ser dito... todavia, quem veio primeiro? O vetor ou a matriz? Por isso que acho mais certo dizer que uma matriz é um vetor com mais de uma dimensão (e não o contrário). Mas, isso são só detalhes. wink.gif

Entretanto, um vetor é organizado sequencialmente assim:

[1, 2, 3, 4, 5]

Onde cada número ali é um elemento. Já uma matriz bidimensional, seria assim:

[(1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3), (3, 1), (3, 2), (3, 3)]

E assim por diante. Sacou?

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

uh sakei ...

Então a matriz veio primeiro ? Dessa eu não sabia! Gostei!

ah. se não for pedir demais você conhece algum site, material na net que aborde esse tipo de coisa ? Matrizes , vetores, arrays coisas bem matemáticas mesmo ?

vlw pela "aula" hehe...

até.... smile.gif

Link para o comentário
Compartilhar em outros sites

  • 0
Então a matriz veio primeiro ? Dessa eu não sabia! Gostei!

Nops... você não captou a minha mensagem. Eu quis dizer que o vetor veio primeiro (por isso que uma matriz é um *vetor* com mais de uma dimensão - para definir isso é preciso que "vetor" já exista).

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...