본문 바로가기
프로그래밍/C언어

문자열과 배열

by 리뷰하는 (게임)프로그래머_리프TV 2010. 3. 8.

사실 이 부분은 크게 중요하진 않지만 언제 어떻게 쓰일지 모르는게 배열과 문자열인것 같다.

특별한 건 없고 포인터 변수를 사용하여 문자열을 저장하는 것과,
strlen을 사용하지 않고, 배열의 사이즈를 파악, 생성 하는 것과
간단한 출력 방법을 코딩하였다.

#include <stdio.h>

void main()
{
	char t1[] = "Test1";
	char t2[] = "Test2";
	char t3[] = "test3";

	char *str[3] = { t1, t2, t3 };

	char t4[] = {"Hello World!"};
	const int size = sizeof(t4);
	char t5[size];

	printf( "%s\n", *str );
	printf( "%s\n", (*str)+2 );
	printf( "%s\n", str[1] );

	for( int i=0; i<size; i++ )
	{
		t5[i] = t4[i];
	}

	printf( "%s\n", t5 );
}


사실 str___과 같은 함수를 쓰면 쉽게 해결 할 수 있는 것이기도 하지만
const와 sizeof를 사용하여 초기에 배열을 설정해 줄 수 있다는 장점이 있다.(물론 실행중에 변경을 할려면 결국 동적할당을 해야겠지만)
const를 쓰지 않으면 배열을 생성 할 수 없는데,
배열을 초기화 하기 위해서는 상수화된 숫자가 필요 하기 때문이다.

'프로그래밍 > C언어' 카테고리의 다른 글

2차원 배열 동적 할당  (0) 2010.03.09
가변 인수  (0) 2010.03.08
재귀 호출  (0) 2010.03.08
bit연산자 - & | ^ << >> (3)  (0) 2010.03.08
bit연산자 - & | ^ << >> (2)  (0) 2010.03.08