본문 바로가기

[C언어 무따기 정리]포인터 배열을 이용한 경사진 숫자 출력하기.

반응형

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

#define MAX 30//MAX == 30과 같다는 말.

int main(int argc, char *argv[])
{
   char *buf[MAX]; //문자형 포인터 배열 buf 선언 
   
   int i, j, k = 1;
   int size;
   
   printf("Input a size. " );
   scanf("%d"&size);
   
   printf("\n");
   
   for(i=0; i< size; i++)
   {
            buf[i] = (char*)malloc(sizeof(char) * size);// sizeof(char) * size만큼의 메모리크기를 동적할당하고 그 형태를 char*형으로 한다.
            memset(buf[i], 0 , sizeof(char) * size);//buf[i]에서 sizeof(char) * size까지 0으로 초기화한다.
   }
   
   for( i =0; i < size; i++)
        for(j = size - i -1; j <size; j++)
              buf[i][j] = k++;
              
   for(i = 0; i < size; i++)//포인터배열 buf를 이차원배열 buf로 사용하여
   {                         //경사진 문자열 저장.
         for(j = 0; j < size; j++)
         {
               if(buf[i][j] == 0)
                            printf("  ");
               else
                            printf("%2d", buf[i][j]);
         }
         printf("\n");
   }
                            


  system("PAUSE");  
  return 0;
}


반응형
-->