Buena explicacion me aclaraste mucho, aunke sigo teniendo algunas dudas. A ver..
1. Cuando explicas para q sirve un puntero, por su capacidad para desreferenciarse y y porque se le puede asignar un array (la direccion de su inicio) , a q te refieres con eso? Lo de desreferenciarse, te refieres a x ej :
*p=&var (referencias una variable), y luego cambias la referencia a otra:
*p=&var2?¿ Y lo de se le puede asiganar la direccion de su inicio, a q te refieres, la direccion en la q se almacena el puntero como variable q es?
2. char *a = (char*)malloc(1);.. q se pretende almacenar en el byte q reserva la funcion malloc, el byte q ocupara el tipo char al q apunta el puntero, o el espacio q ocupara el propio puntero , almacenando la direccion d memoria de la variable char? y porke cuando es solo un caracter hay q utilizar malloc y cuando es una cadena no?¿
3. Respecto a las funciones, porke no puedo usar punteros? ya se q lo mas logico seria no usarlos, pero estaria mal usarlos? Yo los estaba usando de la misma forma que uso una variable normal, pasalndole como parametros los punteros y recogiendo otro puntero, por no se puede?
4.
Código:
#include<stdio.h>
void main()
{
FILE *p;
p=fopen("perro.txt","r");
char cad[10];
fgets(cad,10,p);
printf(" el valor es %c",cad);
int fclose(FILE *p);
}
Que errores hay en este code?
En fin, ya se que necesitaria un curso, por q con el manual no me entero del todo bien... Por ej con el uso de punteros... Yo empece leyendo acerca de punteros y comprendiendo lo basico ( o por lo menos eso creo). Lei que los punteros son una variable mas, con una direccion de memoria propia, en la que almacena otra direccion de memoria (1 byte), y la direccion de memoria q almacena contiene el valor del tipo al que apunta el puntero. De manera q si tu pones esto "int *p=3". p seria un puntero q almacenaria la direccion de memoria del int 3, y poniendo esto "*p", me estaria refiriendo al valor al q apunta el puntero, al 3. Y si pongo esto, "p", me estaria refiriendo a la direccion de memoria donde esta almacenado el puntero. Pues, es lo q yo entendi mas o menos, y a partir de ahi intento entender lo demas, y algunas cosas me resultan incoherentes, y no las entiendo... En fin, pues seguire estudiando... ya q aora me tocaba punteros.. los arrays ya los vi ...
Saludos.