프로그래밍/C언어

[3주차] 포인터와 다차원 배열

유니렌 2024. 12. 13. 20:09

벌써 3주 차이다. 기초공부도 막바지이니 열심히 하자.

 

포인터

포인터 코딩

사칙연산에서 읽기 어려울 때는 괄호를 이용하여 보기 편하게 하자.


다차원 배열

2차원 배열의 코딩 예시

2차원은 [세로][가로]

3차원은 [세로][가로][높이]

포문으로 출력할 때에는 차원개수만큼을 기억하자!


#include <stdio.h>
int main()
{
	char *shop[3][4] = {
		{"1. 코딩우유","2. 자바커피","3. 자바쥬스","4. 비타민C언어스파클링"},
		{"5. 메모리칩","6. 인칩","7. C칩","8. 자바칩"},
		{"9. 안타볼","10. 초코버섯","11. 오징어깡","12. 씨언어리얼"}
	};
	int num;
	printf("C언어 u");
	printf("마루:어서오세요. c언어 u입니다. 몇번 상품을 구매하시겠습니까?");
	printf("1~12");

	for (int i = 0; i < 3; i++)
	{
		printf("\n");
		for (int j = 0; j < 4; j++)
		{
			printf("%-12s",shop[i][j]);
		}
	}
	printf("\n");
	scanf_s("%d", &num);
	switch (num)
	{
	case 1: {
		printf("마루: 구매하신 상품은 코딩우유입니다.\n이용해 주셔서 감사합니다.");
		break;
	}

	case 2: {
		printf("마루: 구매하신 상품은 자바커피입니다.\n이용해 주셔서 감사합니다.");
		break;
	}

	case 3: {
		printf("마루: 구매하신 상품은 자바쥬스 입니다.\n이용해 주셔서 감사합니다.");
		break;
	}

	case 4: {
		printf("마루: 구매하신 상품은 비타민C언어스파클링 입니다.\n이용해 주셔서 감사합니다.");
		break;
	}

	case 5: {
		printf("마루: 구매하신 상품은 메모리칩 입니다.\n이용해 주셔서 감사합니다.");
		break;
	}

	case 6: {
		printf("마루: 구매하신 상품은 인칩 입니다.\n이용해 주셔서 감사합니다.");
		break;
	}

	case 7: {
		printf("마루: 구매하신 상품은 C칩 입니다.\n이용해 주셔서 감사합니다.");
		break;
	}

	case 8: {
		printf("마루: 구매하신 상품은 자바칩 입니다.\n이용해 주셔서 감사합니다.");
		break;
	}

	case 9: {
		printf("마루: 구매하신 상품은 안타볼 입니다.\n이용해 주셔서 감사합니다.");
		break;
	}

	case 10: {
		printf("마루: 구매하신 상품은 초코버섯 입니다.\n이용해 주셔서 감사합니다.");
		break;
	}

	case 11: {
		printf("마루: 구매하신 상품은 오징어깡 입니다.\n이용해 주셔서 감사합니다.");
		break;
	}

	case 12: {
		printf("마루: 구매하신 상품은 씨언어리얼 입니다.\n이용해 주셔서 감사합니다.");
		break;
	}
	default:
		printf("마루:나가.");
		break;
	}
	return 0;
}

 

쓸 때 없이 길기만 한 코딩...

포인터 배열

char*arr="딸기";

 

char은 문자 자료형이다. 하지만 char형 배열에 문자열을 넣으면 오류가 생긴다.

포인터를 사용하여 배열의 요소의 값을 주소로 지정하여 크기 문제없이 쓸 수 있다.

 

<피드백 환영입니당.>