IT

'소프트웨어/C언어'에 해당되는 글 24건

  1. 2011.06.16 함수 인자로 다차원배열이 사용되는 경우
  2. 2011.06.16 [2차원] 배열과 포인터
  3. 2011.06.16 Const 키워드
  4. 2011.06.15 [1차원] 배열과 포인터
  5. 2011.05.12 재귀함수

/*
   배열의 첫 번째 인덱스 값은 생략해도 되지만
   두 번째 인덱스부터는 값을 입력해야 한다.
   ex) mat[3][7][4] -> int sum_matrix(int mat[][7][4])
       call = sum_matrix(mat)
*/

#include <stdio.h>

//int sum_matrix(int mat[][3])
int sum_matrix(int (*mat)[3])
{
        int i;
        i = mat[0][0] + mat[1][1] + mat[2][2];
        return i;
}

int main()
{
        int sum, mat[3][3] = {  {13,23,15},
                                           {11,8,25},
                                           {17,14,21}};

        sum = sum_matrix(mat);
        printf("Answer: %d\n",sum);

        return 0;
}

'소프트웨어 > C언어' 카테고리의 다른 글

char 배열vs char 포인터배열  (0) 2011.06.20
strlen 함수 만들기  (0) 2011.06.17
[2차원] 배열과 포인터  (0) 2011.06.16
Const 키워드  (0) 2011.06.16
[1차원] 배열과 포인터  (0) 2011.06.15
Posted by sinpk

/* 

   배열 식 : 포인터식

   일차원 배열 a[1] = *(a+1)

   이차원 배열 b[2][3] = *(*(b+2)+3)

   
   배열 & 포인터 혼합식

   이차원 배열 b[2][3] = *(b[2]+3)

*/

#include <stdio.h>
int main()
{
        int i,j;
        int array[3][4]={ {15,23,45,56},
                                 {34,52,76,23},
                                 {43,62,91,84}};

        printf("array = %d,p=%08x\n",array[1][1],&array[1][1]);

        printf("pointer = %d,p=%08x\n",*(*(array+1)+1),*(array+1)+1);

        printf("array=%08x\n",array);

        printf("\n");

 
       
printf("array[0]=%08x\n",array[0]);

        printf("array[1]=%08x\n",array[1]);

        printf("array[2]=%08x\n",array[2]);


        printf("\n");

        printf("array+0=%08x\n",array+0);

        printf("array+1=%08x\n",array+1);

        printf("array+2=%08x\n",array+2);

       
        printf("\n");

        printf("array[1]+1=%08x\n",array[1]+1);

        printf("*(array[1]+1)=%d\n",*(array[1]+1));

        printf("*(*(array+1)+1)=%d\n",*(*(array+1)+1));

        

        printf("\n");

        // 행의 이동

        printf("(array+0)+1=%08x\n",(array+0)+1);

        // 열의 이동

        printf("array[0]+1=%08x\n",array[0]+1);

        printf("*(array+0)+1=%08x\n",*(array+0)+1);


        printf("&array[0]+1=%08x\n",&array[0]+1);

        

        printf("&array+1=%08x\n",&array+1);

        return 0;

}


'소프트웨어 > C언어' 카테고리의 다른 글

strlen 함수 만들기  (0) 2011.06.17
함수 인자로 다차원배열이 사용되는 경우  (0) 2011.06.16
Const 키워드  (0) 2011.06.16
[1차원] 배열과 포인터  (0) 2011.06.15
재귀함수  (0) 2011.05.12
Posted by sinpk

const int a = 3;
// a는 상수이므로 a=3 (X) 변경할 수 없다.

const int *p = &a;
// *p는 상수이므로 *p=100 (X) 변경할 수 없다.
// p = &b 변경은 가능하다.

int * const p = &a;
// p는 상수이므로 p=&b (X) 변경할 수 없다.
// *p = 100 변경은 가능하다.

const int * const k = &a;
// k = &b (X) 변경 할 수 없다.
// *k = 200 (X) 변경 할 수 없다.

'소프트웨어 > C언어' 카테고리의 다른 글

함수 인자로 다차원배열이 사용되는 경우  (0) 2011.06.16
[2차원] 배열과 포인터  (0) 2011.06.16
[1차원] 배열과 포인터  (0) 2011.06.15
재귀함수  (0) 2011.05.12
파일 입출력  (0) 2011.05.09
Posted by sinpk

#include <stdio.h>

 int main()

    int iArray[5]; 
    int iCnt;

    //&iArray[iCnt] 와 iArray+iCnt 같다

    for(iCnt=0;iCnt<sizeof(iArray)/sizeof(iArray[0]);++iCnt) 
    { 
        printf("iArray[%d]=%08x\n",iCnt,&iArray[iCnt]); 
    }

    printf("\n");

 
    for(iCnt=0;iCnt<sizeof(iArray)/sizeof(iArray[0]);++iCnt) 
    { 
        printf("iArray[%d]=%08x\n",iCnt,iArray+iCnt); 
    }

    printf("\n"); 

    // iArray[iCnt] 와 *(iArray+iCnt) 같다 
    for(iCnt=0;iCnt<sizeof(iArray)/sizeof(iArray[0]);++iCnt) 
    { 
        printf("iArray[%d]=%08d\n",iCnt,iArray[iCnt]); 
    } 
    printf("\n");

    for(iCnt=0;iCnt<sizeof(iArray)/sizeof(iArray[0]);++iCnt) 
    { 
        printf("iArray[%d]=%08d\n",iCnt,*(iArray+iCnt)); 
    } 
    printf("iArray+1=%08x\n",iArray+1);

    printf("&iArray+1=%08x\n",&iArray+1);

    return 0;
}

'소프트웨어 > C언어' 카테고리의 다른 글

[2차원] 배열과 포인터  (0) 2011.06.16
Const 키워드  (0) 2011.06.16
재귀함수  (0) 2011.05.12
파일 입출력  (0) 2011.05.09
부동 소수점 - IEEE 754  (0) 2011.05.09
Posted by sinpk

재귀함수

2011. 5. 12. 11:52 : 소프트웨어/C언어

재귀함수

함수를 호출 할 때 마다 스택을 사용

장점 : 코드가 간단해 진다.

단점 : 가독성이 떨어진다, 메모리 효율이 안좋다.(스택 사용이 많기 때문에)

'소프트웨어 > C언어' 카테고리의 다른 글

Const 키워드  (0) 2011.06.16
[1차원] 배열과 포인터  (0) 2011.06.15
파일 입출력  (0) 2011.05.09
부동 소수점 - IEEE 754  (0) 2011.05.09
[난수 생성]  (0) 2011.05.09
Posted by sinpk