以下のコードで、malloc()のあとにpool->cを初期化していますが
malloc()の行では、次の行(pool->cの初期化)を先読み?して、メモリを確保しているのでしょうか?
c
1#include <stdlib.h> 2#include <stdio.h> 3#include <string.h> 4 5typedef struct Pool 6{ 7 char *c; 8} *Pool_t; 9 10int main() 11{ 12 Pool_t pool; 13 14 pool = (Pool_t)malloc(sizeof(struct Pool)); 15 pool->c = "cat"; 16 17 printf("%s\n", pool->c); // cat 18 printf("%ld\n", strlen(pool->c)); // 3 19 20 return 0; 21}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。