#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;
}
|