[c] 2차원 배열에 값을 넣는 함수 Programming

아직도 헷갈리는 2차원 배열. 다시한번 정리. 
2차원 배열을 받아서, 그 배열에 글자를 채워넣는 함수는 아래와 같다.

// function that save values into 2dimension array 

#include <stdio.h>
#include <string.h>

#define STRING_BUF_LEN      1024

static void write_to_arr( char (*arr_ptr)[STRING_BUF_LEN], int nrows)
{
    int i;
    for( i=0; i<nrows; ++i)
    {
        sprintf( arr_ptr[i], "Hello world~! row id : %d", i);
    }
}

int main( int argc, char** argv )
{
    char arr[5][STRING_BUF_LEN];
    memset( arr, 0, 5 * STRING_BUF_LEN); // 2차원 이상 배열의 초기화는 이렇게..memset을 쓰거나 for문 돌거나.
    
    write_to_arr( arr, 5);

    int i;
    for(i=0; i<5; ++i)
    {
        printf("%s\n", arr[i]);
    }

    return 0;
}

실행 결과는 글자를 채워넣은 뒤의 출력값.

덧글

댓글 입력 영역