首页 > 系统相关 >嵌入式-C语言基础:malloc动态开辟内存空间

嵌入式-C语言基础:malloc动态开辟内存空间

时间:2022-11-01 21:47:39浏览次数:41  
标签:p2 malloc 内存空间 C语言 char include 开辟

#include<stdio.h>
#include<stdlib.h>

int main()
{
    // char *p;//定义一个野指针:没有让它指向一个变量的地址
    // *p='c';//直接对野指针进行操作,会报错
    char *p1;
    p1=malloc(1);//动态开辟内存
    *p1='d';
    printf("%c\n",*p1);
    
    return 0;
}

malloc可以动态在堆上开辟地址,函数原型:void * malloc(size_t size);

strcpy,字符串的拷贝函数,函数原型:char * strcpy(char * dest,const char * src);

#include<stdio.h>
#include<stdlib.h>
#include <string.h>

int main()
{//将字符串常数拷贝给字符串
    char * p2;
    p2=(char *)malloc(12);//开辟12个字节的内存空间,并返回指针
    strcpy(p2,"strcprtfkjk");//把字符串拷贝给p2
    printf("%s\n",p2);//输出字符串return 0; }

输出结果:

strcprtfkjk\

注意:

malloc是在堆上开辟内存空间,数组是在栈上开辟空间,堆上的内存在函数结束后会释放,但是堆上的内存只有在程序退出的时候才会释放。

 

标签:p2,malloc,内存空间,C语言,char,include,开辟
From: https://www.cnblogs.com/zxtang/p/16849259.html

相关文章