No entindo esto sobre punteros
Saludos. Tengo una gran duda y te agradecería me aclares esto por favor. En el sgt. Ejemplo funciona correctamente:
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
char string1[100] = "hola mundo";
char string2[100];
char *copiar(char *destino, char *origen) {
while (*origen != '\0')
*destino++ = *origen++;
*destino = '\0';
return destino;
}
int main(void)
{
copiar(string2, string1);
puts(string2);
getch();
}
Pero hasta donde se, decir arreglos es sinonimo de punteros, es decir char string1[100] es igual a char *string1. Si esto es cierto porque el siguiente código no me funciona correctamente:
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
char *string1= "hola mundo";
char *string2;
char *copiar(char *destino, char *origen) {
while (*origen != '\0')
*destino++ = *origen++;
*destino = '\0';
return destino;
}
int main(void)
{
copiar(string2, string1);
puts(string2);
getch();
}
Muchas gracias por tu ayuda
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
char string1[100] = "hola mundo";
char string2[100];
char *copiar(char *destino, char *origen) {
while (*origen != '\0')
*destino++ = *origen++;
*destino = '\0';
return destino;
}
int main(void)
{
copiar(string2, string1);
puts(string2);
getch();
}
Pero hasta donde se, decir arreglos es sinonimo de punteros, es decir char string1[100] es igual a char *string1. Si esto es cierto porque el siguiente código no me funciona correctamente:
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
char *string1= "hola mundo";
char *string2;
char *copiar(char *destino, char *origen) {
while (*origen != '\0')
*destino++ = *origen++;
*destino = '\0';
return destino;
}
int main(void)
{
copiar(string2, string1);
puts(string2);
getch();
}
Muchas gracias por tu ayuda
1 Respuesta
Respuesta de dondorian
1