char *** 할당에 관한 문의입니다..
글쓴이: 초코리 / 작성시간: 금, 2010/05/14 - 1:35오후
C++에서 하다가 오랜만에 C를 하려니
아리까리(?) 한 부분이 있습니다.
함수에서 리스트를 얻어오는 예제인데요.
다음과 같은 코드에서 문제나 버그가 없을까요??
일단 동작에는 문제 없고 valgrind에서도 어떤 워닝이나 에러는 나오지 않네요.
함번 코드 리뷰 부탁드립니다.
#include <stdio.h> #include <stdlib.h> void allocList(char ***pCharList) { int cnt = 3; *pCharList = malloc(sizeof(**pCharList) * 3); for ( cnt = 0; cnt < 3; cnt++) { *((*pCharList)+cnt) = malloc(128); snprintf(*((*pCharList)+cnt), 128 ,"TEST STRING Index[%d]", cnt); printf("STR[%s]\n", *((*pCharList)+cnt)); } } int main() { char **pointer = NULL; int cnt = 0; allocList(&pointer); for (cnt = 0; cnt < 3; cnt++) { printf("GET STRING[%s]\n", (*(pointer+cnt))); free(*(pointer+cnt)); } free(pointer); return 0; }
Forums:
댓글 달기