Download presentation
Presentation is loading. Please wait.
1
Tutorial #7 Summer 2005
2
sizeof int main() { char x; sizeof(x); sizeof(int); }
3
sizeof int main() { int a[10]; sizeof(a); }
4
Swap function void swap(int a, int b) { int tmp = a; a = b; b = tmp; }
5
pointers #include int main(void) { int x, *px; int y, *py ; px = &x; py = &y; scanf("%d%d", px, py); printf("x = %d, y = %d\n", *px, *py); return 0; }
6
pointers #include int main(void) { int *px; *px = 4; }
7
pointers #include int main(void) { int *px, x; px = &x; *px = 8; return 0; }
8
Swap function void swap(int *a, int *b) { int tmp = *a; *a = *b; *b = tmp; }
9
Swap function void swap(int *a, int *b) { int *tmp = a; a = b; b = tmp; }
10
Swap function void swap(int *a, int *b) { int *tmp; *tmp = *a; *a = *b; *b = *tmp; }
11
simplify #include void swap(int*, int*); int gcd(int, int); void simplify(int*, int*); int main() { int a, b; if (scanf(“%d%d”, &a, &b) != 2) { printf(“Input error\n”); return 1; } printf(“Before simplification: ”%d / %d\n”, a, b); simplify(&a, &b); printf(“After simplification: “%d / %d\n”, a, b); return 0; }
12
simplify void simplify(int *num_p, int *denom_p) { int tmp = gcd(*num_p, *denom_p); *numerator_p /= tmp; *denominator_p /= tmp; } int gcd(int a, int b) { while(a != 0) { b %= a; swap(&a, &b); } return b; }
13
pointers #include int *p; void f() { int num = 25; p = # } int main(void) { f(); printf(“%d “, *p); return 0; }
14
pointers int main() { int *p; int x; … p = &x; p += 2; }
15
pointers int main() { char *p; char c; … p = &c; p += 2; }
16
Arrays and pointers p[k] = p + k p + k * sizeof(type)
17
Arrays and pointers int a[10]; int pa = a; /* int *pa = &a[0] */ pa = a; /* pa = &a[0] */ pa[i] (pa + i) (a + i) a[i]
18
Arrays and pointers #include int main() { int a[10]; int pa = a; *pa = &a[4]; pa++; a++; a = pa; return 0 ; }
19
Arrays and pointers #include #define N 100 int main() { int arr[N]; int *p = arr; int val;... *p++ = val; val = *--p; }
20
Pointer arithmetics #include int main(void) { int x = 1, y = 2, z[10]; int *ip, *iq; ip = &x; y = *ip; *ip = 0; ip = &z[0]; *ip = *ip + 10; y = *ip + 1; *ip += 1; ++*ip; (*ip)++; *ip++; iq = ip; ++*iq; }
21
sum_array #include #define N 10 int sum_array(int a, int n); int main() { int array[N]; for(i = 0; i < N; ++i) scanf( %d , &a[i]); printf( The sum of array is : %d\n , sum_array(array, N)); return 0 ; }
22
sum_array int sum_array(int a, int n) { int i, sum = 0; for(i = 0; i < n; ++i) sum += a[i]; return sum ; }
23
arrays for(j = 5; j < 8; ++j) printf( %d , a[j]); printf( \n ); pa = &a[3]; for(j = 0; j < 3; ++j) printf( %d , pa[j]); printf( \n ); for(j = 0; j < 3; ++j) printf( %d , (pa + j)); printf( \n ); fun_c(&a[3]); return 0 ; } void fun_c(int a[]) { int j; for (j = 0; j < 3; ++j) printf( %d , a[j]); } int main() { int a[10], j, pa; for(j = 0; j < 10; ++j) a[j] = j + 1;
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.