#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include<string.h>
//
//void test() {
// int i;
// int* ptr = (int*) malloc (10*sizeof(int));
// if(NULL == ptr) {
// exit(EXIT_FAILURE);
// }
// //越界了 在堆里面
// for(i = 0;i<=10;i++) {
// *(ptr+i) = i;
// }
// free(ptr);
//}
//void test() {
// int a = 10;
// //int a 存放在静态区
// int *ptr = &a;
// //对于非静态内存使用了free 函数
// free(ptr);
//}
//void test( ) {
// int *ptr = (int *)malloc (sizeof (int));
// ptr++;
// //ptr 不在指向起始的位置,而 free 函数必须指向开辟内存的起始位置
// free(ptr);
//}
//void test (){
// int *ptr = (int*)malloc (100);
// free(ptr);
// //重复释放
// free(ptr);
//}
//void Getmemory(char **ptr) { //那么就得是一个二级指针
// *ptr = (char *)malloc(100);
//}
//void test() {
// char *str = NULL;
// //形参是实参的拷贝,所以执行完下面的代码之后并不会影响 str 的地址,
// //还是一个空指针
// //只有传进去地址之后才可以
// Getmemory (&str);
// if(str == NULL) {
// return ;
// }
// strcpy(str,"hello world");
// printf(str);
// free(str)
malloc 动态内存分配几个经典面试题
最新推荐文章于 2023-08-12 23:32:50 发布