|
|
|
#include <stdio.h> int main() { int i; float x; printf("Enter initial guess =");scanf("%f",&x); for (i=0;i<100;i++) /* insert your iteration code */ printf("%f\n",x); return 0; } |
|
|
|
|
#include <stdio.h> int main() { float a =20.0, b=50.0; float *pa, *pb; pa=&a; pb=&b; printf("%f %f\n", a, b); printf("%f %f\n", *pa, *pb); return 0; } |
Variable name | Machine absolute address | Contents |
… | 100 | … |
… | 101 | … |
a | 102 | 20.0 |
… | … | … |
b | 150 | 50.0 |
… | 151 | … |
… | … | … |
pa | 200 | 102 |
… | … | … |
pb | 220 | 150 |
#include <stdio.h> int main() { int a=10; printf("Address of a=%d\n", &a); return 0; } |
#include <stdio.h> int main() { int a=10; printf("Address of a=%p\n", &a); return 0; } |
#include <stdio.h> int main() { int a[]={100,2,-56}; printf("%p\n", &a[0]); printf("%p\n", &a[1]); printf("%p\n", &a[2]); return 0; } |
#include <stdio.h> int main() { double a[]={100,2,-56}; printf("%p\n", &a[0]); printf("%p\n", &a[1]); printf("%p\n", &a[2]); return 0; } |
#include <stdio.h> int main() { float a=20.0; float *pa; pa=&a; printf("%p\n", pa); printf("%p\n", &a); return 0; } |
#include <stdio.h> int main() { float a=20.0; float *pa; pa=&a; printf("%f\n", *pa); printf("%f\n", a); return 0; } |
#include <stdio.h> int main() { float a=20.0; float *pa=&a; a=30.0; *pa = 40.0; printf("%f\n", *pa); printf("%f\n", a); return 0; } |
#include <stdio.h> int main() { float a=10.0,b=20.5; float *pa, *pb; pa=&a; pb=&b; printf("Address of a=%p\n", &a); printf("Address of b=%p\n", &b); printf("\n"); printf("Pointer pa=%p\n", pa); printf("Pointer pb=%p\n", pb); printf("\n"); printf("Value pointed by pa=%f\n",*pa); printf("Value pointed by pb=%f\n",*pb); return 0; } |
#include <stdio.h> void tentimes(float a) { a = 10.0*a; } int main() { float b=20; tentimes(b); printf(" b = %f\n", b); return 0; } |
#include <stdio.h> void swap(float x, float y) { float tmp; tmp = x; x = y; y = tmp; } int main() { float a=10.0, b=50.0; printf("Old a = %f and old b = %f\n",a,b); swap(a, b); printf("New a = %f and new b = %f\n", a,b); return 0; } |
#include <stdio.h> void swap(float *pa, float *pb) { float tmp; tmp=*pa; *pa=*pb; *pb=tmp; } int main() { float a=10.0, b=50.0; printf("Old a = %f and old b = %f\n",a,b); swap(&a,&b); printf("New a = %f and new b = %f\n", a,b); return 0; } |
#include <stdio.h> void twice(float a) { a = 2.0 * a; } int main() { float a = 20.0; twice(a); printf("a= %f\n", a); return 0; } |
#include <stdio.h> void twice(float *pa) { *pa = 2.0* *pa; } int main() { float a = 20.0; twice(&a); printf("a = %f\n",a); return 0; } |
#include <stdio.h> int main() { int a=3, b=2,*pa=&a, *pb=&b; &b = pa; pa = a; *pa = pb; pa = *pb; return 0; } |
#include <stdio.h> int main() { float a[3]={1.0, 2.0, 3.0}, *pa=&a[0]; double b[3]={1.2345670, 2.009876555, 3.14159265}, *pb=&b[0]; printf("float %p %p %p\n", pa, pa+1, pa+2); printf("double %p %p %p\n", pb, pb+1, pb+2); return 0; } |
#include <stdio.h> int main() { int a[3]={1, 2, 3}; return 0; } |
Array access | Pointer equivalent |
a[0] | *a |
a[1] | *(a+1) |
a[2] | *(a+2) |
|
#include <stdio.h> int main() { float a[3]={1.0, 2.0, 3.0}; printf("%f\n", *a); printf("%f\n", a[0]); printf("\n"); printf("%f\n", *(a+2)); printf("%f\n", a[2]); return 0; } |
#include <stdio.h> void twice(float *a) { int i; for (i = 0; i < 3; i++) a[i] = 2 * a[i]; } int main() { float b[3] = {1.0, 2.0, 3.0}; int i; twice(b); for (i = 0; i < 3; i++) printf("%f\n", b[i]); return 0; } |
#include <stdio.h> void twice(float a[3]) { int i; for (i = 0; i < 3; i++) a[i]=2*a[i]; } int main() { float b[3] = {1.0, 2.0, 3.0}; int i; twice(b); for (i = 0; i < 3; i++) printf("%f\n", b[i]); return 0; } |