c语言静态初始化分配内存与动态malloc的区别
1、静态分配(简单粗暴)
#include <stdio.h>
#include <string.h>
int main()
{
char str[10]; // 声明一个足够大的字符数组以存储字符串。
strcpy(str, "hello"); // 将字符串 "hello" 安全地复制到数组 'str'。
printf("%s", str); // 使用 %s 格式说明符打印字符串。
return 0;
}
2、动态分配(更灵活)
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void getMemory(char* *p)
{
*p=(char*)malloc(100);
}
int main(void)
{
char* str =NULL;//空指针
getMemory(&str);
strcpy(str,"hello");
printf("%s",str);
return 0;
}