网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

C语言指针与malloc动态内存申请,栈与堆的差异-创新互联

#include#include#includeint main() {int size;//size 代表我们要申请多大字节的空间
    char *p;//void*类型的指针不能偏移的,因此不会定义无类型的指针
    scanf("%d",&size);//输入要申请的空间大小
    //malloc返回的void*代表无类型的指针
    p=(char*)malloc(size);
    strcpy(p,"malloc success");
    puts(p);
    free(p);//释放申请的空间时,给的地址必须是最初的malloc返回给我们的地址
    return 0;
}
char* print_stack(){char c[100]="I am print_stack func";
    char *p;
    p=c;
    puts(p);
    return p;
}


int main() {char *p;
    p=print_stack();  // 该函数执行完之后栈空间会释放,释放的空间给后者使用 导致乱码
    puts(p);
//    p=print_malloc();
    puts(p);          // p接受的是数组的起始地址
    free(p);//只有free时,堆空间仓会释放
    return 0;
}


结果
I am print_stack func
I am print_stack??
#include#include#includechar* print_stack(){char c[100]="I am print_stack func";
    char *p;
    p=c;
    puts(p);
    return p;
}

char *print_malloc(){char *p=(char*) malloc(100); //堆空间在整个进程中一直有效,不因为函数结束而消亡
    strcpy(p,"I am print malloc func");
    puts(p);
    return p;
}


int main() {char *p;
    p=print_stack();
    puts(p);
    p=print_malloc();
    puts(p);
    free(p);//只有free时,堆空间仓会释放
    return 0;
}



I am print_stack func
I am print_stack??
I am print malloc func
I am print malloc func

在这里插入图片描述

创新互联公司主营临淄网站建设的网络公司,主营网站建设方案,成都app软件开发公司,临淄h5微信小程序定制开发搭建,临淄网站营销推广欢迎临淄等地区企业咨询

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


本文名称:C语言指针与malloc动态内存申请,栈与堆的差异-创新互联
网页地址:http://bjjierui.cn/article/hoisg.html

其他资讯