/* * Ukazatel, dynamické proměnné, operátor sizeof() */ #include <stdio.h> #include <stdlib.h> int i; int *p_i; // p_i je ukazatel na int short n, *pa, *pb, *pc; void *p; // p je netypovy ukazatel int main(void) { i = 15; p_i = &i; // &i ... adresa promenne i printf("i=%d *p_i=%d \n", i,*p_i); printf("sizeof(int) = %d \n", sizeof(int)); printf("sizeof(short) = %d \n", sizeof(short)); printf("sizeof(long) = %d \n", sizeof(long)); printf("sizeof(long long) = %d \n", sizeof(long long)); printf("sizeof(n) = %d \n", sizeof(n)); printf("sizeof(pa) = %d \n", sizeof(pa)); printf("sizeof(*pa) = %d \n", sizeof(*pa)); pa = &n; pb = malloc(sizeof(short)); // syntakticky presne: pb = (short *)malloc(sizeof(short)); pc = malloc(sizeof(short)); printf("pa ukazuje na adresu %p \n", pa); printf("pb ukazuje na adresu %p \n", pb); printf("pc ukazuje na adresu %p \n", pc); *pa = 1; *pb = 2; *pc = *pa + *pb; printf("vysledek = %d\n", *pc); free(pb); // syntakticky presne: free((void *)pb); free(pc); return 0; }