Presentation is loading. Please wait.

Presentation is loading. Please wait.

Tutorial #7 Summer 2005. sizeof int main() { char x; sizeof(x); sizeof(int); }

Similar presentations


Presentation on theme: "Tutorial #7 Summer 2005. sizeof int main() { char x; sizeof(x); sizeof(int); }"— Presentation transcript:

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;


Download ppt "Tutorial #7 Summer 2005. sizeof int main() { char x; sizeof(x); sizeof(int); }"

Similar presentations


Ads by Google