C语言操作内存

时间:2023-03-10 06:32:56
C语言操作内存

炒了个栗子

#include <stdio.h>
#define N1 (5)
#define N2 (7)
#define N3 (3) int main(){
int *ip;
int *large_ip;
int *small_ip;
//内存空间的首地址
ip = (int *)malloc(N1*sizeof(int));
if(ip == NULL){
printf("memory allocated failed\n");
exit();
}
int i;
for(i=;i<N1;i++){
ip[i] = i;
printf("ip[%d] = %d\t", i, ip[i]);
}
printf("\n"); large_ip = (int *)realloc(ip,N2*sizeof(int));
if(large_ip == NULL){
printf("memory allocated failed!\n");
exit();
}
for(i=N1;i<N2;i++){
large_ip[i]=;
} for(i=;i<N2;i++){
printf("large_ip[%d] = %d\t", i, large_ip[i]);
}
printf("\n");
small_ip = (int *)realloc(large_ip,N3*sizeof(int));
if(small_ip == NULL){
printf("memory allocated failed!\n");
exit();
}
for(i=;i<N3;i++){
printf("small_ip[%d] = %d\t", i, small_ip[i]);
}
printf("\n");
////手动释放内存
free(small_ip);
return ;
}