포인터

 

int a=10;           //a에 10 저장

int* ap = &a;     //포인터변수 ap에 변수a의 주솟값 저장

    //=>int* 로 선언된 포인터 변수는 int형 변수의 주솟값만을 저장할 수 있다.

 

/* ---------------------------------------

↓주소값 : 48                          ↓주소값 : 52         

       52                    →                 10       

포인터변수 ap    (가리킨다)      int형 변수 a

--------------------------------------- */

 

printf("%d", a);        //a값 출력 52

printf("%d", *ap);    //printf("%d", *&a);와 같으므로 printf("%d", a);이다. 따라서 a값 출력 52

    //=>포인터 변수 앞에 *을 붙이면 포인터 변수가 가리키는 곳에 저장된 값을 가져온다.(*과 &가 상쇄됨)

printf("%u", ap);     //printf("%d", &a);와 같다. 따라서 a의 주솟값(ap)출력 48

printf("%u", &a);    //a의 주솟값을 출력 52

printf("%u", &ap);  //ap의 주솟값 출력 48

 

 

배열 포인터

 

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

int* ap = &ary[0];     //&ary[0] = ary 이므로 ary[0] = *ary = *ap

 

/* -----------------------------------------------------------------------------------------------------

ary[0] = 10

ary[1] = 20

ary[2] = 30

ary[3] = 40

ary[4] = 50

↑주소값(ap) : 36        ↑40                           ↑44                          ↑48                          ↑52

  = &ary[0]                  = &ary[0]+1                = &ary[0]+2               = &ary[0]+3               = &ary[0]+4

------------------------------------------------------------------------------------------------------*/

 

printf("%u", ary);      //36

printf("%u", ary+1);   //40

printf("%u", ary+2);   //44

printf("%u", ary+3);   //48

printf("%u", ary+4);   //52

 

'Programming > C' 카테고리의 다른 글

C언어 정리(6)  (0) 2015.08.06
C언어 정리(5)  (0) 2015.07.20
C언어 정리(3)  (0) 2015.07.20
C언어 정리(2)  (0) 2015.07.20
C언어 정리(1)  (0) 2015.07.20

배열

 

1차원 배열 선언

int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};        //10개짜리 정수형 배열

 

a[10]배열

a[0] = 1

a[1] = 2

a[2] = 3

a[3] = 4

a[4] = 5

a[5] = 6

a[6] = 7

a[7] = 8

a[8] = 9

a[9] = 10

 

=> 배열의 인덱스값은 0부터!

 

 

2차원 배열 선언

int b[2][2] = {1, 2, 3, 4}       //2*2 정수형 배열

 

a[2][2]배열

a[0][0] = 1

a[0][1] = 2

a[1][0] = 3

a[2][2] = 4

 

 

문자열(문자 + 배열)

char c[]= "abcdefg\0";    //크기가 7인 문자형 배열 선언

NULL문자(\0)를 입력 함으로써 문자열의 끝을 알려줌

 

c[7]배열

c[0] = 'a'

c[1] = 'b'

c[2] = 'c'

c[3] = 'd'

c[4] = 'e'

c[5] = 'f'

c[6] = 'g'

'Programming > C' 카테고리의 다른 글

C언어 정리(5)  (0) 2015.07.20
C언어 정리(4)  (0) 2015.07.20
C언어 정리(2)  (0) 2015.07.20
C언어 정리(1)  (0) 2015.07.20
Exercise 10-1  (0) 2015.05.07

IF문

 

기본

if(조건)    //조건 : 예)부등식

{

//조건을 만족할 때 수행할 것들

}

else

{

//조건을 만족하지 않는 모든 경우에 수행할 것들

}

 

항상 실행

if(true)    //true대신 1 이상의 정수 가능

{

//수행할 것들

}

 

실행 안함

if(false)    //false대신 0 가능

{

 

}

 

 

SWITCH문

 

기본

switch(변수)

{

case 1 :     //첫 번째 경우

//수행할 것들

break;

case 2 :    //두 번째 경우

//수행할 것들

break;

default :    //첫 번째, 두 번째 모두 아닌 경우

//수행할 것들

}

 

 

WHILE문

 

기본

while(조건)

{

//수행할 것들

}

 

항상 실행

while(true)    //true 대신 1사용 가능

{

//수행할 것들

}

 

우선 do를  한 번 실행한 후 조건에 맞는 경우 do 실행

do

{

//수행할 것들

} while(조건);

 

 

FOR문

 

기본

for(초기 값 ; 조건식 ; 증감식)

{

//수행할 것들

}

 

계속 실행

for(;;)

{

//수행할 것들

}

'Programming > C' 카테고리의 다른 글

C언어 정리(4)  (0) 2015.07.20
C언어 정리(3)  (0) 2015.07.20
C언어 정리(1)  (0) 2015.07.20
Exercise 10-1  (0) 2015.05.07
Exercise 9-3  (0) 2015.05.07

+ Recent posts