14- Programación en C - Variables de tipo puntero I

Поделиться
HTML-код
  • Опубликовано: 3 окт 2024
  • -Accede al curso completo de C en Udemy: www.udemy.com/...

Комментарии • 13

  • @pabloarieldelprado651
    @pabloarieldelprado651 2 года назад +2

    Me gustó que esté explicado breve y detalladamente.

  • @JavierGomez-yh6zb
    @JavierGomez-yh6zb Год назад +1

    Una genialidad que bien explicado Felicitaciones y MUCHAS GRACIAS por tanto aporte!!!!!

  • @lq6949
    @lq6949 2 года назад +1

    Facu, gracias por tu aporte al conocimiento.

  • @bearose710
    @bearose710 Год назад

    Muy buena explicación de punteros.

  • @Djoako22
    @Djoako22 3 года назад +2

    Muchas gracias hermano al fin lo entendí bien

    • @stickmanx9918
      @stickmanx9918 2 года назад +1

      Sii lo explico re bien el pibe, es un tema medio confuso de entender
      me tuve que tomar 1 de omega 3 para entenderlo al toke

  • @fredyalonso6417
    @fredyalonso6417 3 года назад

    Gracias.

  • @andresmauricionieveschacon5458

    Buena tarde, no seria ptro = &num ? y no *ptro = &num?... y luego, si se quiere mostrar el valor de num a través de su dirección con el puntero, entonces mostramos printf("%d
    ", *ptro).

    • @facudarfe
      @facudarfe  Год назад +1

      Muy buena observación. Quizas el ejemplo que di no es muy acertado. Lo que pasa es que yo le estoy asignando el valor al mismo tiempo que estoy declarando la variable, el * en ese contexto quiere decir que estoy declarando una variable puntero, en cambio cuando se usa el * delante de la variable en otro contexto ahi hace referencia a la indireccion y es asi como vos decis.

    • @andresmauricionieveschacon5458
      @andresmauricionieveschacon5458 Год назад

      Sino que me quedé pensando porque el * lo que hace es acceder al valor contenido en la dirección de num, por tanto, cuando se declara que *ptro = &num, estaríamos diciendo que a *ptro se le asigna la dirección de num y no el valor contenido en esa dirección.

    • @facudarfe
      @facudarfe  Год назад

      Si pero en el contexto de una declaracion de la variable, el * tiene otro significado como te habia dicho, que es el de indicar que estamos en presencia de una variable puntero. Recordá que la parte de declaraciones de variables es antes a que se ejecuten las instrucciones de C.
      int *ptro = &num es distinto de *ptro = &num. Una es una declaracion de variable y al mismo tiempo inicializacion y la otra es una asignación. En la segunda es efectivamente una indireccion. Son cuestiones de C que a veces hacen dificil entender los punteros.

  • @ivanvaldiviam7428
    @ivanvaldiviam7428 2 года назад

    Todo lo que se quiere es actualizar desde la funcion, el arreglo de caracteres en main() enviado por referencia. Estoy bloqueado, agradecere tu ayuda...

  • @ivanvaldiviam7428
    @ivanvaldiviam7428 2 года назад

    #include
    #include
    #include
    #include
    #include
    // Conversion de Double a String, Paso por Referencia a Funcion de Arreglo de Caracteres
    int main()
    {
    char fstr[15]={0},*ss;
    int fDMSTR();
    double angNUM=-76.51675;

    // Puntero a Cadena
    ss=fstr;

    // Llamada a funcion y paso por Referencia
    fDMSTR(angNUM,ss);

    // Contenido Puntero Remoto Actualizado desde funcion en Main(ahora angSTR)
    printf("
    Contenido de Puntero ss (String value) = %s
    ",ss);

    return 0;
    }
    /*Convierte Double a String*/
    int fDMSTR(double angDEG, char *pp)
    {
    char angSTR[15]={0},*hh;
    float angTXT;

    // Asignacion Double a Float
    angTXT=angDEG;

    // Mostrando Double a Float
    printf("
    Double (%lf) to Float (%f)
    ",angDEG,angTXT);
    // Puntero Local apunta a Puntero Remoto
    hh=pp;

    // Conversion Float to String
    sprintf(angSTR,"%.5f",angDEG);

    // Mostrando Float to String
    printf("
    Float (%f) to String (%s)
    ",angTXT,angSTR);

    // Actualizacion de Puntero Remoto con valor convertido
    hh=angSTR;

    // Visualizacion Contenido Puntero Remoto Actualizado, desde Funcion (ahora angSTR)
    printf("
    Contenido de Puntero hh (String value) = %s
    ",hh);

    return 0;
    }