Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porAdrián López Lucero Modificado hace 9 años
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; }
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.