| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/11/2010 22:48:50
|
cake
JavaTeenager
Membro desde: 23/08/2010 15:31:20
Mensagens: 169
Offline
|
pq dá 1? como pode se tratar do mesmo endereço?
Explicações, por favor.
This message was edited 7 times. Last update was at 16/11/2010 15:50:12
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/11/2010 22:56:02
|
getAdicted
Virtual Machine Man
![[Avatar]](/images/avatar/355f4ae9f22df3742aa06eb6f5b1429f.jpg)
Membro desde: 07/09/2010 13:49:22
Mensagens: 556
Offline
|
Posso estar falando besteira,
mas quando você faz *variavel, você está se referindo ao valor daquela posição de memória, portanto:
Retorna verdadeiro, dessa forma, imprimirá 1, por que *str1 == *str2, agora se quiser fazer referencia a posição de memória, deveria ser &variavel, não é isso?
[]'s
This message was edited 2 times. Last update was at 11/11/2010 22:58:52
|
--
Desenvolvedor de Sistemas
Cursando Bacharelado em Análise de Sistemas e Tecnologia da Informação pela Faculdade de Tecnologia de São Paulo |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/11/2010 23:01:08
|
getAdicted
Virtual Machine Man
![[Avatar]](/images/avatar/355f4ae9f22df3742aa06eb6f5b1429f.jpg)
Membro desde: 07/09/2010 13:49:22
Mensagens: 556
Offline
|
Estou no Windows, sem DevC++ , não tenho como testar...
Poderia ser testado assim:
.. os dois devem imprimir: "bla", senão, falei besteira
falou!
|
--
Desenvolvedor de Sistemas
Cursando Bacharelado em Análise de Sistemas e Tecnologia da Informação pela Faculdade de Tecnologia de São Paulo |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/11/2010 23:45:54
|
diegohsi
JavaTeenager
![[Avatar]](/images/avatar/9f22fc68c18087f096057fb3f2498c7e.png)
Membro desde: 30/05/2010 21:52:01
Mensagens: 180
Offline
|
Não sei bem em C, mas pesquisei aqui e entendi o seguinte...
0 = true
1 = false
entao como temos 2 variáveis e ponteiros para posições diferentes de memória retornará 1.
strcmp(str1, str2) é um função responsavel pela comparação retornando 0 são iguais, caso contrário são diferentes
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/11/2010 23:49:51
|
getAdicted
Virtual Machine Man
![[Avatar]](/images/avatar/355f4ae9f22df3742aa06eb6f5b1429f.jpg)
Membro desde: 07/09/2010 13:49:22
Mensagens: 556
Offline
|
1 = true
0 = false
não é diegohsi ?
verdadeiro e falso?
[]'s
This message was edited 1 time. Last update was at 11/11/2010 23:52:19
|
--
Desenvolvedor de Sistemas
Cursando Bacharelado em Análise de Sistemas e Tecnologia da Informação pela Faculdade de Tecnologia de São Paulo |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/11/2010 23:50:44
|
diegohsi
JavaTeenager
![[Avatar]](/images/avatar/9f22fc68c18087f096057fb3f2498c7e.png)
Membro desde: 30/05/2010 21:52:01
Mensagens: 180
Offline
|
não
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/11/2010 23:52:43
|
getAdicted
Virtual Machine Man
![[Avatar]](/images/avatar/355f4ae9f22df3742aa06eb6f5b1429f.jpg)
Membro desde: 07/09/2010 13:49:22
Mensagens: 556
Offline
|
caracas! hehe
|
--
Desenvolvedor de Sistemas
Cursando Bacharelado em Análise de Sistemas e Tecnologia da Informação pela Faculdade de Tecnologia de São Paulo |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/11/2010 00:03:55
|
cake
JavaTeenager
Membro desde: 23/08/2010 15:31:20
Mensagens: 169
Offline
|
Posso estar falando besteira,
mas quando você faz *variavel, você está se referindo ao valor daquela posição de memória...
Quando faço:
Estou declarando e inicializando dois ponteiros para char.
Retorna verdadeiro, dessa forma, imprimirá 1, por que *str1 == *str2, agora se quiser fazer referencia a posição de memória, deveria ser &variavel, não é isso?
Perdão, mas do jeito que eu entendi, isso não faz muito sentido.
Veja bem, na minha pergunta eu estou comparando dois ponteiros para char.
Se o código fosse:
Estaríamos comparando os char's em si, o que também resultaria em 1, já que *str1 = *str2 = 'b'.
Perdão novamente, mas isso nem sequer deve compilar...
Como dito antes, *str1 e *str2 são char's, não cadeias de char's.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/11/2010 00:07:30
|
getAdicted
Virtual Machine Man
![[Avatar]](/images/avatar/355f4ae9f22df3742aa06eb6f5b1429f.jpg)
Membro desde: 07/09/2010 13:49:22
Mensagens: 556
Offline
|
imprimir verdadeiro, 1:
imprimir falso, 0:
Não sei se no java verdadeiro é falso, hehe
Mas aqui deu certo.
|
--
Desenvolvedor de Sistemas
Cursando Bacharelado em Análise de Sistemas e Tecnologia da Informação pela Faculdade de Tecnologia de São Paulo |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/11/2010 00:08:45
|
getAdicted
Virtual Machine Man
![[Avatar]](/images/avatar/355f4ae9f22df3742aa06eb6f5b1429f.jpg)
Membro desde: 07/09/2010 13:49:22
Mensagens: 556
Offline
|
Exato, por isso peguei só o primeiro caracter! Caso contrario deveria-se declarar um vetor de caracteres!
|
--
Desenvolvedor de Sistemas
Cursando Bacharelado em Análise de Sistemas e Tecnologia da Informação pela Faculdade de Tecnologia de São Paulo |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/11/2010 00:08:59
|
cake
JavaTeenager
Membro desde: 23/08/2010 15:31:20
Mensagens: 169
Offline
|
Não sei bem em C, mas pesquisei aqui e entendi o seguinte...
0 = true
1 = false
O amigo está enganado.
1 = true
0 = false
entao como temos 2 variáveis e ponteiros para posições diferentes de memória retornará 1.
No caso, temos dois ponteiros para posições iguais, creio.
É exatamente aí que está a minha dúvida: como posso ter declarado e inicializado duas cadeias diferentes e elas apontarem pro mesmo lugar só por terem conteúdos iguais?
strcmp(str1, str2) é um função responsavel pela comparação retornando 0 são iguais, caso contrário são diferentes
strcmp é uma função que compara conteúdos de duas cadeias, que não é o caso aqui, onde estamos comparando ponteiros.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/11/2010 00:12:05
|
getAdicted
Virtual Machine Man
![[Avatar]](/images/avatar/355f4ae9f22df3742aa06eb6f5b1429f.jpg)
Membro desde: 07/09/2010 13:49:22
Mensagens: 556
Offline
|
boa...
|
--
Desenvolvedor de Sistemas
Cursando Bacharelado em Análise de Sistemas e Tecnologia da Informação pela Faculdade de Tecnologia de São Paulo |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/11/2010 00:13:42
|
getAdicted
Virtual Machine Man
![[Avatar]](/images/avatar/355f4ae9f22df3742aa06eb6f5b1429f.jpg)
Membro desde: 07/09/2010 13:49:22
Mensagens: 556
Offline
|
Esse é do mestre!
Coordenador das olimpiadas de programação de Santos.
Sr. Ciro Cirne Trindade.
[]'s
| Nome do arquivo |
Prog2-04-Ponteiros.pdf |
Download
|
| Descrição |
|
| Tamanho |
308 Kbytes
|
| Baixado: |
57 vez(es) |
This message was edited 1 time. Last update was at 12/11/2010 00:14:00
|
--
Desenvolvedor de Sistemas
Cursando Bacharelado em Análise de Sistemas e Tecnologia da Informação pela Faculdade de Tecnologia de São Paulo |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/11/2010 00:15:14
|
cake
JavaTeenager
Membro desde: 23/08/2010 15:31:20
Mensagens: 169
Offline
|
Citando e comentando o código do amigo:
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/11/2010 00:17:21
|
getAdicted
Virtual Machine Man
![[Avatar]](/images/avatar/355f4ae9f22df3742aa06eb6f5b1429f.jpg)
Membro desde: 07/09/2010 13:49:22
Mensagens: 556
Offline
|
Entendi, hehe
Mas é seis por meia duzia: str == *str, é isso?
This message was edited 1 time. Last update was at 12/11/2010 00:17:47
|
--
Desenvolvedor de Sistemas
Cursando Bacharelado em Análise de Sistemas e Tecnologia da Informação pela Faculdade de Tecnologia de São Paulo |
|
|
 |
|
|