小编Gra*_*eme的帖子

如何区分动态分配的char*和静态char*

在我正在研究的程序中,我有一个类似的结构

typedef struct _mystruct{
    char* my_string;
} mystruct;
Run Code Online (Sandbox Code Playgroud)

大多数时候my_string是使用malloc分配的,所以有一个函数可以调用

free(mystructa->my_string);  
Run Code Online (Sandbox Code Playgroud)

通常这是有效的,但在某些时候,my_string被设置为文字

my_string = "This is a literal"; 
Run Code Online (Sandbox Code Playgroud)

在我调用free()之前有没有办法告诉两者之间的区别?

c arrays string free pointers

3
推荐指数
1
解决办法
141
查看次数

标签 统计

arrays ×1

c ×1

free ×1

pointers ×1

string ×1