質問編集履歴
1
編集
test
CHANGED
File without changes
|
test
CHANGED
@@ -97,3 +97,47 @@
|
|
97
97
|
|
98
98
|
|
99
99
|
プログラムに書いた黒い★の疑問と黒い太い線で書いた疑問に詳しく優しく教えてくださると大変ありがたいです。
|
100
|
+
|
101
|
+
|
102
|
+
|
103
|
+
編集
|
104
|
+
|
105
|
+
```
|
106
|
+
|
107
|
+
#include <stdio.h>
|
108
|
+
|
109
|
+
#include <string.h>int main(void)
|
110
|
+
|
111
|
+
{
|
112
|
+
|
113
|
+
char str[] = "12345""\0""67890";
|
114
|
+
|
115
|
+
char* p = strchr(str, '\0');/
|
116
|
+
|
117
|
+
printf("|%s|\n", str);
|
118
|
+
|
119
|
+
printf("|%s|\n", p + 1);
|
120
|
+
|
121
|
+
*p = '!';
|
122
|
+
|
123
|
+
printf("|%s|\n", str);
|
124
|
+
|
125
|
+
}
|
126
|
+
|
127
|
+
|
128
|
+
|
129
|
+
```
|
130
|
+
|
131
|
+
をcやc++でデバックしたら、char* p = strchr(str, '\0');の部分が**charと*pになると思ったらchar*とpに分かれていました。**
|
132
|
+
|
133
|
+
|
134
|
+
|
135
|
+
理由がわかりません。
|
136
|
+
|
137
|
+
なぜこのように分かれたのでしょうか?strchr(str, '\0');からの返り値のアドレスを受け取るためでしょうか?
|
138
|
+
|
139
|
+
また、char*型とはポインタ型のcharだとわかりました。しかし、だからなんだという感じで、ポインタ型のcharとはなんなのですが?
|
140
|
+
|
141
|
+
|
142
|
+
|
143
|
+
どうか基礎を固めたいのでどうかよろしくお願い致します。
|