Está en la página 1de 9

#include <stdio.h> #include <stdlib.h> #include <conio.

h> void main () { int *a, b = 10, c; //printf("%d\n", &a); //printf("%d\n", *a); a = (int*) malloc (sizeof(int)*10); printf("%d\n", a); //printf("%d\n", *a); *a = b; // a almacena en su propio espacio de memoria el valor que b printf("%d\n", *a); a[4] = 100; a[1] = 12; // *(a+1) = 12; *(a+2) = 25; printf("%d\n", printf("%d\n", printf("%d\n", printf("%d\n", a[0]); a[1]); a[2]); a[4]);

a = a + 7; *a = 8; printf("%d\n", a[0]); printf("%d\n", *(a-7)); getch(); }

/* * File: main.c * Author: daniel * * Created on October 19, 2011, 10:17 AM */ #include <stdio.h> #include <stdlib.h> void func_x_valor(int param); void func_x_ref(int *param); typedef struct TNombreCompleto { char Primero[10]; char Inicial; char Ultimo[10]; } NombreCompleto; /* Este programa sirve para demostrar como compilar un programa en C usando NetBeans */ int main(int argc, char** argv) { int a; a = 10; printf("ejercicio 1: Declarando Variables \n"); printf("valor almacenado en de la variable: %d \n", a); printf("direccion de memoria de la variable: %p \n", &a); printf("ejercicio 2: Declarando punteros \n"); int * pt; pt = &a; printf("direccion de memoria del puntero: %p \n", &pt); printf("valor almacenado en el puntero: %p \n", pt); printf("valor al que el puntero hace referencia: %d \n", *pt); printf("ejercicio 3: Accesando a variables con punteros \n"); int x, y; int *p1, *p2; x = -42; y = 163; p1 = &x; p2 = &y; printf("valor almacenado en x: %d \n", x); printf("valor almacenado en y: %d \n", y); printf("valor al que p1 hace referencia: %d \n", *p1); printf("valor al que p2 hace referencia: %d \n", *p2); *p1 = 17; *p2 = x + 5;

printf("valor almacenado en x: %d \n", x); printf("valor almacenado en y: %d \n", y); *p1 = *p2; printf("valor almacenado en x: %d \n", x); printf("valor almacenado en y: %d \n", y); p1 = p2; printf("valor al que p1 hace referencia: %d \n", *p1); printf("valor al que p2 hace referencia: %d \n", *p2); p1 = NULL; p2 = NULL; printf("valor almacenado en el puntero: %p \n", p1); printf("valor almacenado en el puntero: %p \n", p2); printf("valor final almacenado en x: %d \n", x); printf("valor final almacenado en y: %d \n", y); printf("ejercicio 4: paso de parametros a funciones \n"); printf("valor almacenado en x antes : %d \n", x); func_x_valor(x); printf("valor almacenado en x despues : %d \n", x); printf("valor almacenado en x antes : %d \n", x); func_x_ref(&x); printf("valor almacenado en x despues : %d \n", x); printf("ejercicio 5: Referencias a arreglo \n"); int lista[5]; for (x = 0; x < 5; x++) lista[x] = x; for (x = 0; x < 5; x++) { printf("elemento %d:%d\n", x, *(&lista[0] + x)); } printf("ejercicio 6: Arreglo dinamico \n"); int *arreglo, t; scanf("%d", &t); arreglo = malloc(t * sizeof (int)); for (x = 0; x < t; x++) *(arreglo + x) = x; printf("elemento %d\n", x); for (x = 0; x < t; x++) { printf("elemento %d:%d\n", x, *(arreglo + x)); } printf("ejercicio 7: Estructura \n"); char letra; NombreCompleto *estudiantes;

NombreCompleto *estudiante; scanf("%d", &t); estudiantes = malloc(t * sizeof (NombreCompleto)); for (x = 0; x < t; x++) { estudiante = estudiantes + x; estudiante->Inicial = 'A'+x; } for (x = 0; x < t; x++) { estudiante = estudiantes + x; printf("Inicial de estudiante %d %c \n",x,estudiante>Inicial); } return (EXIT_SUCCESS); } void func_x_valor(int param) { param = param + 1; printf("valor en la funcion %d \n", param); } void func_x_ref(int *param) { *param = *param + 1; printf("valor en la funcion %d \n", *param); }

#include #include #include #include

<stdio.h> <stdlib.h> <conio.h> <string.h>

typedef enum { MASCULINO, FEMENINO } GENERO; typedef struct Estudiante { char *matricula; char *nombre; char carrera[10]; char ciudad[50]; int factorP; float promedio; int nota; GENERO g; } Estudiante; void main () { Estudiante est; // Declaracin de la variable // Asignacin de valores a campos est.promedio = 9.36; est.matricula = (char*) malloc(sizeof(char)*10); strcpy (est.matricula, "200305845"); est.nombre = (char*) malloc(sizeof(char)*strlen("Gonzalo Mndez Cobea")); strcpy(est.nombre, "Gonzalo Mndez Cobea"); est.factorP = 5; // Consulta de valores de campos printf("%d \n", est.factorP); printf("%s \n", est. nombre); } //void // // // // // // // // // // // // // // // // //} main () { int **a, i; a = (int**) malloc(sizeof(int)*10); for (i=0; i<10; i++) { a[i] = (int*) malloc(sizeof(int)*10); } // for // for for (i=0; i<10; i++) { free(a[i]); } free(a);

#include <stdio.h> #include <string.h> // Estructura NombreCompleto typedef struct NombreCompleto{ char primero[10]; char inicial; char ultimo[10]; } NombreCompleto; void main3 () { NombreCompleto miNombre; // Asignacin de valores a los campos de la estructura miNombre.inicial = 'G'; strcpy(miNombre.primero, "Gonzalo"); strcpy(miNombre.ultimo, "Mendez"); printf("Mi nombre completo es: %s %c %s\n", miNombre.primero, miNombre.inicial, miNombre.ultimo); }

#include <stdio.h> #include <string.h> // Estructura NombreCompleto typedef struct NombreCompleto{ char primero[10]; char inicial; char ultimo[10]; } NombreCompleto; void main3 () { NombreCompleto miNombre; // Asignacin de valores a los campos de la estructura miNombre.inicial = 'G'; strcpy(miNombre.primero, "Gonzalo"); strcpy(miNombre.ultimo, "Mendez"); printf("Mi nombre completo es: %s %c %s\n", miNombre.primero, miNombre.inicial, miNombre.ultimo); }

#include <stdio.h> #include <string.h> #include <conio.h> // Creando un alias para los tipos de dato entero typedef int entero; // Creando una ENUMERACIN typedef enum { LUNES, MARTES, MIERCOLES, JUEVES, VIERNES, SABADO, DOMINGO } DIA; void main () { entero count = 1; entero *ptr = &count; entero a = 1; int b = a + count; DIA hoy = SABADO; if (hoy == SABADO || hoy == DOMINGO) { printf(" :) \n"); } else { printf(" :( y clases \n"); } // Las enumeraciones definidas arriba sin SIEMPRE enteros que empiezan en 0 printf("%s", SABADO); getch(); }

#include <stack.h> #include <list.h> /* * ARCHIVO: * stack.c * ltima modificacin: 2007/03/27 (V. Macas) * ------------------------------------------------------------------------------------* DESCRIPCION: * Este archivo contiene la implementacion de las operaciones * para el manejo del TDA Stack (Pila) * * DEPENDENCIAS: * stack.h: la interfaz * MODIFICACIONES: * 2004/06/08 (Marisol Villacres): Version original * 2007/03/27 (V. Macas): Version con nombres en ingls. */ int stackIsEmpty(Stack *S){ return listIsEmpty(S); } Stack* stackNew(){ Stack *S; S = listNew(); return S; } void stackPush(Stack *S, NodeList *nuevo){ listAddNode(S, nuevo); } NodeList *stackPop(Stack *S){ return(listRemoveLast(S)); } NodeList *stackPeek(Stack *S){ return listGetLast(S); } int stackGetSize(Stack *S){ return listGetSize(S); }