네트워크 보안 수업 14일차 - 코리아 정보보안 IT학원

2016. 4. 15. 16:43네트워크 보안 수업/C언어

반응형

변수의 확장


- 값

- 크기

- 주소(address)


변수의 주소?


- 변수의 위치(메모리에서의)


포인터 연산자 : 주소 연산자


- &, *


일반 변수 


- 변수는 값을 나타낸다!


- 최대 8바이트까지만 표현 가능(64비트 시스템 기준)

- 문자열의 표현의 한계

- 여러개의 값(집합)을 표현

...


배열 변수


- 같은 타입의 변수의 열(연속적으로 이어진 변수들)

- 서로 다른 타입의 열은 만들 수 없다



배열 변수의 선언 

int arr[10];


배열 변수의 접근


arr[0] = 10;

arr[0];


#include <stdio.h>


int main(int argc, char *argv[])


{

        int two=2;

        int arr[3];


        printf("value : %d \n", two);

        printf("size : %d\n",sizeof(two));

        printf("addr: %u(0x%08x) \n",&two,&two);


        arr[0]=10;

        arr[1]=20;

        arr[2]=30;


        printf("arr[0]:%d \n",arr[0]);


        return 0;

}


배열 변수의 초기화


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

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

int arr[10] = {0,};


char str[] = {'h','e','l','l','o'};

char str[] = "hello";


int arr[5] =;

arr[5] = {1,2,3,4,5,}; (X)


int arr[]; (X)

주소연산


- 주소에 대해서 덧셈, 뺄셈, ...

- 주소의 크기만큼 연산이 이루어진다.


배열과 루프


- 1차원 배열 : 단일 루프


- 2차원 배열 : 이중 루프


[실습]: 배열안의 모든 변수의 값을 출력


#include <stdio.h>


int main(int argc, char *argv[])


{

        int arr[5]={10,20,30,40,50};


        int i;


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

                printf("arr[%d] : %u \n",i,arr[i]);

        }


        return 0;

}


[실습]: 100개의 변수(원소)를 갖는 int타이브이 배열을 선언하고

각 배열의 변수에 5의 배수의 값으로 각 변수의 값을 할당하는 

프로그램을 작성 



[실습]: 배열에 있는 모든 변수(원소)의 값의 총합을 구하는 프로그램을 작성


#include <stdio.h>


int main(int argc, char *argv[])

{

        int arr[100];

        int i;

        int sum=0;

        int count = 5;


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

                arr[i]=count;

                count=count+5;

        }

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

                sum=sum+arr[i];

                printf("%d\n",arr[i]);

        }

        printf("value sum : %d \n",sum);


        return 0;

}



반응형