https://brennan.io/2015/01/16/write-a-shell-in-c/
このサイトを参考にしていました。
ある関数の中でfree関数の使用方法で気になった箇所があり、、、
C言語
1void lsh_loop(void) 2{ 3 char *line; 4 char **args; 5 int status; 6 7 do { 8 printf("> "); 9 line = lsh_read_line(); 10 args = lsh_split_line(line); 11 status = lsh_execute(args); 12 13 free(line); 14 free(args); 15 } while (status); 16}
free関数で開放するメモリは、ヌルポインタでない場合は、malloc関数、calloc関数、realloc関数のいずれかで確保された領域だと思うのですが、上記のコードは正しいのでしょうか?(環境はos:linux コンパイラ:gccです。)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。