녕지의 개발 블로그

24강, scanf와 변수

scanf: 사용자의 키보드로 입력받을 때 사용하는 함수

형식)

scanf("%d", 변수의 주소);

 

int a;

scanf("%d", &a);

printf("%d", a);

 

int main() {

  int i =10; // 주소 100

  int j = 20; // 주소 101

  int *k = &i; // i의 주소값이기 때문에 100

 

  scanf("%d", k); // 90 입력, i의 주소이기 때문에 i에 90이 들어감

  printf("%d, %d, %d\n", i, j, *k); // 90, 20, 90 출력

}

 

25~28강, 배열과 포인터

int i;

int a[] = { 10, 20, 30, 40, 50, 60, 70, 80, 90, 100};

int *ptr = a + 3;

for ( i = 0; i < 5; ++i ) {

  printf("%d", *(ptr+i)-3);

}

 

37

47

57

67

77

 

int a[5];

int *b = a;

a[2] = 10;

b[2] = 20; // a의 주소값을 가지고 있기 때문에 a[2] 자리에 20 대입

 

int a[] = { 1, 2, 4, 8 };

int *p = a;

p[1] = 3;

a[1] = 4;

p[2] = 5;

printf("%d %d\n", a[1] + p[1], a[2] + p[2]);

답) 8 10

 

int a[4] = { 10, 20, 30 };

int *p = a;

p++;

*p++ = 100;

*++p = 200;

printf("a[0]=%d, a[1]=%d, a[2]=%d\n", a[0], a[1], a[2]);

답) a[0]=10, a[1]=100, a[2]=30

 

int num[4] = { 1, 2, 3, 4 };

int *pt = num;

pt++;

*pt++ = 5;

*pt++ = 10;

pt--;

*pt++ += 20;

printf("%d %d %d %d", num[0], num[1], num[2], num[3]);

답) 1 5 30 4

profile

녕지의 개발 블로그

@녕지

주니어 개발자가 쓰는 IT에서 살아남기 . . .