malloc와 *systime 과의 관계?
#include <stdio.h>
#include "time.h"
char *subString(const char *s,int start, int length);
int main(int argc, char *argv[])
{
char *abc="123456789";
/* struct tm *systime; */
/* time_t t; */
/* t = time(NULL); */
/* systime = localtime(&t); */
/* printf("Year : %.2d\n", systime->tm_year+1900); */
printf("%s\n",subString(abc,1,3));
}
char *subString(const char *s,int start, int length)
{
char *result;
int i;
start--;
result=malloc(sizeof(char)*length);
for(i=0;i<length;i++)
{
result[i]=s[i+start];
}
return result;
}
이것을 실행하면 123이 잘 나옵니다.
그런데 주석 처리 한 부분을 지우고 나면 result 변수에 쓰레기 값이 들어가 있는데 그 이유를 모르겠습니다.
고수님들 도와주세요.
주석 처리한 부분하고는 관계가 없고 null 문자를 넣지 않아서 그렇습니
주석 처리한 부분하고는 관계가 없고 null 문자를 넣지 않아서 그렇습니다.
댓글 달기