使用realloc时内存是否自动释放?或者是否有必要免费使用realloc?以下哪项是正确的?
//Situation A
ptr1 = realloc(ptr1, 3 * sizeof(int));
//Situation B
ptr1 = realloc(ptr2, 3 * sizeof(int));
free(ptr1);
ptr1 = ptr2;
Run Code Online (Sandbox Code Playgroud) 尝试创建一个结构数组(C的新增功能),但是当我尝试初始化数组时,我得到的是"数组类型具有不完整的元素类型".我做错了什么?
typedef struct morsechar
{
char character;
char* morse;
} MorseChar;
struct MorseChar lookup[] ={{'A', ".-"}, {'B', "-..."}, {'C', "-.-."},
{'D', "-.."}, {'E', "."}, {'F', "..-."},
{'G', "--."}, {'H', "...."}, {'I', ".."},
{'J', ".---"}, {'K', "-.-"}, {'L', ".-.."},
{'M', "--"}, {'N', "-."}, {'O', "---"},
{'P', ".--."}, {'Q', "--.-"}, {'R', ".-."},
{'S', "..."}, {'T', "-"}, {'U', "..-"},
{'V', "...-"}, {'W', ".--"}, {'X', "-..-"},
{'Y', "-.--"}, {'Z', "--.."}, {'0', "-----"},
{'1', ".----"}, {'2', "..---"}, {'3', "...--"},
{'4', "....-"}, {'5', "....."}, {'6', "-...."}, …Run Code Online (Sandbox Code Playgroud)