La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

TIPOS DE DATOS PARCIAL III Punteros. Un puntero es una variable que hace referencia a una dirección de memoria Sintaxis: Tipo_Dato *nombre_variable_puntero;

Presentaciones similares


Presentación del tema: "TIPOS DE DATOS PARCIAL III Punteros. Un puntero es una variable que hace referencia a una dirección de memoria Sintaxis: Tipo_Dato *nombre_variable_puntero;"— Transcripción de la presentación:

1 TIPOS DE DATOS PARCIAL III Punteros

2 Un puntero es una variable que hace referencia a una dirección de memoria Sintaxis: Tipo_Dato *nombre_variable_puntero; Ejemplo: int *p; Asignación de Dirección nombre_puntero=&variable; Punteros

3 El carácter & delante de una variable indica que lo se está accediendo es a la dirección de memoria de dicha variable. Ejemplo: int *p; p=0; /* p posee la dirección NULL ó 0*/ p=NULL; /* p posee la dirección NULL ó 0*/ p=&i; /*p apunta hacia i ó conteniendo la dirección de i */ p=(int )1501; /*dirección absoluta de memoria */

4 Inicialización Sintaxis: tipo_dato *nombre_puntero=&variable; Ejemplo: int i=7,*p=&i;

5 #include void funcion(int *pi){ *pi = 0; //se asigna 0 a lo apuntado por pi } int main(){ int n=1; //declara un entero printf("%d\n",n); //imprime su valor funcion(&n); //invoca a la funcion con la referencia al entero printf("%d\n",n); //imprime el nuevo valor return 0; }

6 #include int main(){ int a=13; int *pa; pa = &a; printf("%u\n",&a); printf("%u\n",pa); printf("%d\n",a); *pa = 55; printf("%d\n",a); printf("%d\n",*pa); return 0; }

7 #include void division_entera(int x, int y, int *cuoc, int *resto){ *cuoc = x/y; *resto = x - y*(*cuoc); } int main(){ int a,b; //variables de entrada int c,r; //variables de salida a = 5; //se define el valor de las entradas b = 3; division_entera( a, b, &c, &r ); //se invoca la función con 2 parametros //por copia y 2 por referencia //Aqui c y r ya cambiaron de valor printf("%d dividido %d da %d y sobran %d\n",a,b,c,r); return 0; }

8 #include int main(){ int a[10]; printf("&a[0]=%u\n",&a[0]); printf("&a[1]=%u\n",&a[1]); printf("a=%u\n",a); return 0; }

9 #include #define TAM 10 void imprimir(int *a,int n ){ int i; for(i=0; i<n; i++) printf("%d, ",a[i]); printf("\n"); } int main(){ int arreglo[TAM]; int i; for(i=0; i<TAM;i++){ arreglo[i]=i+1; } imprimir(arreglo, TAM); for(i=0; i<TAM; i++){ *(arreglo+i)=0; } imprimir(arreglo, TAM); return 0; }

10 #include #define TAM 10 char* saluda(char s[TAM] ){ s[0]='h'; s[1]='o'; s[2]='l'; s[3]='a'; s[4]='\0'; return s; } int main(){ char str[TAM]; char *str2; str2 = saluda(str); printf("%s",str2); return 0; }

11 #include int main(){ int *pi; pi = NULL; //indica que pi es un puntero que aun //no apunta a nada valido *pi = 1234; return 0; }

12 #include int main(){ int a[3]; printf("sizeof(int)=%d\n", sizeof(int) ); printf("sizeof(char)=%d\n", sizeof(char) ); printf("sizeof(float)=%d\n", sizeof(float) ); printf("sizeof(double)=%d\n", sizeof(double) ); printf("sizeof(a)=%d\n", sizeof(a) ); printf("tamano(a)=%d\n", sizeof(a)/sizeof(int) ); return 0; }


Descargar ppt "TIPOS DE DATOS PARCIAL III Punteros. Un puntero es una variable que hace referencia a una dirección de memoria Sintaxis: Tipo_Dato *nombre_variable_puntero;"

Presentaciones similares


Anuncios Google