본문 바로가기
728x90
반응형
SMALL

개념/혼자 공부하는 C언어148

chapter 16) 3개의 문자열을 저장하기 위한 동적 할당 #include #include #include int main(void){ char temp[80]; char *str[3]; int i; for (i = 0; i< 3; i++){ printf("write string : "); gets(temp); str[i] = (char * )malloc(sizeof(strlen(temp) + 1)); strcpy(str[i], temp); } for (i = 0; i< 3; i++){ printf("%s\n", str[i]); } for (i = 0 ; i< 3; i++){ free(str[i]); } return 0; } 1. **문자열 입력 받기**: - 사용자로부터 3개의 문자열을 입력 받습니다. 각 문자열은 `temp` 배열을 통해 임시로 저장됩니다. .. 2024. 9. 24.
chapter 16) 동적 하랑한 저장 공간을 사용하는 프로그램 #include #include int main(void){ int *pi; double *pd; pi = (int *)malloc(sizeof(int)); if(pi == NULL){ printf("not enough memory\n"); exit(1); } pd = (double *)malloc(sizeof(double)); *pi = 10, *pd = 3.4; printf("integer : %d\n", *pi); printf("double : %.1lf\n ", *pd); free(pi); free(pd); return 0; } ### 코드 설명 - `int *pi;`와 `double *pd;`를 통해 정수형 포인터 `pi`와 실수형 포인터 `pd`를 선언합니다. 이 포인터들은 나중에 `mallo.. 2024. 9. 23.
chapter 16) 동적 할당 영역의 문자열을 함수로 출력 #include #include #include void print_str(char **ps); int main(void){ char temp[80]; char *str[21] = { 0 }; int i = 0; while ( i < 20 ){ printf("WRITE STRING : "); gets(temp); if (strcmp(temp, "end") == 0) break; str[i] = (char *)malloc(sizeof(strlen(temp) +1)); strcpy(str[i], temp); i++; } print_str(str); for (i = 0; str[i] != NULL; i++){ free(str[i]); } return 0; } void print_str(char **ps){ w.. 2024. 9. 22.
chapter 16) 동적 할당 영역을 배열처럼 사용 #include #include int main(void){ int *pi; int i, sum = 0; pi = (int *)malloc(sizeof(int)); if (pi ==NULL){ printf("not enough memory\n"); exit(1); } for(i = 0; i 2024. 9. 21.
728x90
반응형
LIST