입력한 수 만큼의 배열공간 생성 문의
꽃큰
입력한 수 만큼의 배열공간 생성 문의입니다.
가령 사용자로 부터 숫자를 5 입력 받았다고 하면....
Arr[5][5] 이렇게 배열을 생성하고 싶은데...
이게 가능한가요?
C++이라면 나중 선언이 가능하지만 C에서는 안된다고 들었는데.. 어떻게 해야 되는지 좀 가르쳐주세요.
-
서향
다들 답변감사합니다. 아무래도 동적할당에 대해서 공부해야 되겠네요.
-
블랙캣
void ** d_arr(int arrSize, int eleSize)
{
\tint i;
\tvoid **vp = (void **)malloc(sizeof(void*)*arrSize); // arrSize - 포인터
\tvp[0] = (void *)malloc(eleSize*arrSize*arrSize); // arrSize * arrSize - 메모리
\tfor (i=1; iarrSize; i++) {
\t\tvp[i] = (char*)vp[0] -
흰가람
#include stdio.h
#include stdlib.h
#include string.h
// 2차 정방 행렬식으로 eleSize(예:char, int)만큼을 할당받습니다.
void ** d_arr(int arrSize, int eleSize);
// 위에서 할당받은 메모리를 반환합니다.
void d_free(void **pp);
void main()
{
\tconst char *str[] = { \abc\ -
차분나래
visual c 6에선 arr[변수]가 안되지만
dev cpp 에선 arr[변수]가 된답니다 ㅎㅎ -
달달항사탕
C에서도 가능합니다. 동적할당 malloc에 관해 검색해보세요 ㅋ