引数の渡し方の仕組みが未だに解ってない
どうすれば,あるポインタを関数に渡して,そのポインタをNULLにできるのかしら.
#include<stdio.h> #include<string.h> #include<stdlib.h> void to_null(char *c); void to_free(char *c); int main() { char * c = NULL; printf("%s\n", c); // => (null) c = (char *)malloc(sizeof(char) * 4); printf("%s\n", c); // => 空文字列 strcpy(c, "abc"); printf("%s\n", c); // => abc to_null(c); printf("%s\n", c); // => abc to_free(c); printf("%s\n", c); // => abc c = NULL; printf("%s\n", c); // => (null) return 0; } void to_null(char *c) { c = NULL; } void to_free(char *c) { free(c); }
う〜ん理解できない.ダメポ.何か見落としてる気がする.charやintって特殊?