私はCプログラミングの初心者です。そして、ポインターの無秩序な動作に混乱しています。特に文字列と配列に関しては。
みたいに書けないことはわかっていますが、
#include <stdio.h>
int main()
{
int *number=5;
printf("%d",*number);
}
明らかにメモリの5番目の場所に書き込もうとするため、プログラムがクラッシュします。「番号」を初期化する必要があります。
しかし、文字列に関しては、次のように書くことができます。
#include <stdio.h>
int main()
{
char *name="xxxxx";
printf(name);
}
そして、それも機能します。つまり、暗黙的に「名前」ポインターを初期化することを意味します。また、name=&name[0] も知っていますが、name=&name も見つけました。どうしてですか?なぜなら、私には同じ名前の 2 つの変数に見えるからです。文字列がメモリ内でどのように作成されるか教えてもらえますか?名前[0]の場所を入れてください。私が間違っていたようです。)
PS:-私の英語力はあまり良くないかもしれません。誰かが上記の問題に関するリンクを教えてくれたら幸いです。