C言語のポインタについて教えてくれ
■ このスレッドは過去ログ倉庫に格納されています
今文字列のポインタをやってるんだが
参考書にあった通り書いたらエラーが出て動かんのだ
char *ptr ="123";
ちなみにC++の環境でやってる C言語の参考書を見ながらC++の環境でやってるのが悪いんか? なんでこういう質問するやつはエラー文も書かないし
ソースも書かないんだろうか 初期化中const char[4]から*char型に変換できません
ってエラーでる >>3
やってるのは会社のPCだからコードコピペできねえんだわ
すまんな >>7
何がいかんの?
参考書の通りに書いてるんだけど >>11
配列じゃなくてポインタから直接文字列作りたい Cって変数の定義と初期化って同時にできたっけ?もう忘れた >>13
それはできる
char str[ ]="ABC";
の方は問題なく動く char *ptr;
ptr = (char *)malloc(5);
memcpy(ptr, “unko\0”, 5); エラー文もう1つあったわ
const charの値をしようして型char*のエンティティを初期化することはできません
だってさ >>16
何でエラー文をそのまま受け入れられない奴って多いんだろ >>22
受け入れられないんじゃなくて
どうしてこんな風に出るのかわからないんだ c言語でコンパイルするみたいなコンパイラオプションないんだっけ C言語の配列はただのポインタなので>>11みまいに宣言して[ ]外せばポインタとして使える wandboxで試したがconstつけるとそのエラーなおるよ >>25
メモリの位置を指し示す変数。だからスコープを無視できる点が便利と言えば便利なんだけどcの場合は文字列すらポインタを使わないと表現できないから分かりづらくなってる。 >>29
調べたらC++だと文字列は変更できないconst型なのね
なるほどな >>31
ほーん、メモリの位置を示してんのか
そんなことまで気にしなきゃあかんのか >>34
いや
>>30
の説明の方が分かりやすくていいと思う 文字列123は不変だからポイントとして指定できない
どこかしらで配列に格納する必要がある CとC++は C++ ⊃ C に思えて実は微妙に仕様違うから >>1
ん?これ通らんの?
俺耄碌してるか?
と思って試したら通った ■ このスレッドは過去ログ倉庫に格納されています