質問編集履歴
1
具体例を追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -8,4 +8,24 @@
|
|
8
8
|
*a = 12;
|
9
9
|
return ture;
|
10
10
|
}
|
11
|
+
```
|
12
|
+
|
13
|
+
以下追記
|
14
|
+
|
15
|
+
例えばTokenという構造体があったとして、new_tokenという関数の中でこのようにtokという変数のメンバに値を代入したとします。
|
16
|
+
|
17
|
+
この時このnew_tokenという関数からreturnした後も、プログラムが終了するまで、この代入した値はメモリ上から失われないという認識は正しいでしょうか?
|
18
|
+
```c
|
19
|
+
struct Token {
|
20
|
+
Token *next;
|
21
|
+
int val;
|
22
|
+
char *str;
|
23
|
+
};
|
24
|
+
|
25
|
+
Token *new_token(Token *cur, char *str) {
|
26
|
+
Token *tok = calloc(1, sizeof(Token));
|
27
|
+
tok->str = str;
|
28
|
+
tok->next = NULL;
|
29
|
+
cur->next = tok;
|
30
|
+
return tok;
|
11
31
|
```
|