전자공학부 학생입니다. 제가 프로그래밍 실력이 없어서... .
2차원 배열을 동적 할당 으로 만들어 봤는데..
#include <stdio.h>
#include <stdlib.h>
void main()
{
int r,c;
int *p[2];
p[0]=(int*)malloc(sizeof(int)*3);
p[1]=(int*)malloc(sizeof(int)*3);
p[0][0]=6; p[0][1]=5; p[0][2]=4;
p[1][0]=3; p[1][1]=2; p[1][2]=1;
for(r=0; r<2; r++)
for(c=0;c<3;c++)
printf("%d",p[r][c]);
free(p[0]);
free(p[1]);
}
같이 과제 하시는 형님이 이렇게 할빠에 정적배열로 하는것이 더 낫다고 하시고 가시던데....
왜죠???
동적할당하면서 장애인처럼 하드코딩하면 정적할당하는게 더 낫지 빠가야...라고 말씀하신 겁니다.
ㄴ ㅇㄱㄹㅇ ㅂㅂㅂㄱ 차라리 정적배열 하나에 걍 시멘트 푸대 하나 하나 쌓듯 스택으로 쌓아서 집어 넣는게 유리할때도 있음. 배열 뺄대도 유리 ㅎㅎ
동적할당을 쓰은 경우는 보통 컴파일 하고 나서 실행하는 도중에 크기를 입력받은만큼 배열을 생성하는거니까 그런 게 아닐까요 ㅎ_ㅎ
^_^ // 유지보수 할때 뒤질거 같음.. 그리고 3 차원 배열 까지 넘어가는 경우도 있는데 대부분 유니크한 키 어레이 하나에 특수성에 따라서 스테이지를 구성함. 가급적 동적 할당은 안하는게 답.. 실무에서는 가장 쉬운 방법으로 가장 빨리 프로젝트를 끝내고 순댓국밥 먹으러 가는 사람이 승자임. ㅋㅋㅋㅋㅋㅋ
이거 맞는데?? 실행중에 크기를 알게되는 경우가 아니고 정적으로 크기를 알아도 지역변수를 크게 잡으면 스택이 터짐 malloc 써야 됨 지금 경우는 작으니까 정적이 더 좋아보이는거고
아나 ㅋㅋㅋ 이미 갯수를 알면 차라리 정적 할당이 났지..... 초기화 값도 알고 갯수도 알고..... 정적 하는 것이 낫다는 말이고
동적할당은 갯수를 모를때 쓰는 거란다 !!! ^^