#define _CRT_SECURE_NO_WARNINGS
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
typedef struct data_type {
char name[20];
int age;
} data;
int test_malloc(){
data *bob;
bob = (data*)malloc(sizeof(data));
if (bob != NULL) {
bob->age = 22;
strcpy(bob->name, "Robert");
printf("%s is %d years old ", bob->name, bob->age);
}
free(bob);
return 0;
}
void main(){
test_malloc();
printf("hello....");
system("pause");
return;
}
2 API 판독
1 calloc 구문: #include void *calloc( size_t num, size_t size ); 기능: 함수는num을 가리키는 그룹 공간을 되돌려줍니다. 모든 그룹 요소의 크기는size입니다.오류가 발생하면 NULL로 돌아갑니다.2 free 구문: #include void free( void *ptr ); 기능: 함수는 나중에 사용할 수 있도록 포인터 ptr가 가리키는 공간을 방출합니다.포인터 ptr는 이전의malloc(),calloc(),realloc()에 대한 호출로 되돌아와야 합니다.예: typedef struct datatype { int age; char name[20]; } data; data *willy; willy = (data*) malloc( sizeof(willy) ); ... free( willy ); 3 malloc 구문: #include void *malloc( size_t size ); 기능: 함수는 크기가 크기인 공간을 가리키며 오류가 발생하면 NULL을 되돌려줍니다.저장 공간의 바늘은 반드시 무더기여야 하며, 창고가 되어서는 안 된다.이렇게 하면 이후에free 함수로 공간을 방출할 수 있다.예: typedef struct datatype { int age; char name[20]; } data; data *bob; bob = (data*) malloc( sizeof(data) ); if( bob != NULL ) { bob->age = 22; strcpy( bob->name, "Robert"); printf( "%s is %d years old", bob->name, bob->age ); } free( bob ); 4 realloc 구문: #include void *realloc( void *ptr, size_t size ); 기능: 함수는 ptr 대상의 저장 공간을 주어진 크기로 변경합니다.매개변수 크기는 원래 크기보다 크거나 작을 수 있습니다.반환 값은 오류가 발생하면 NULL을 반환하는 새 공간을 가리키는 포인터입니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다: