文字列と配列とポインタ

次に気になったのは,char型の配列又はポインタのconstを付けた時のこと

ご存知のように文字列とは”ダブルクォーテーション”で囲まれたものです。
これを,typeidで型を調べると,char constの配列となると思います。

では,本題に入りまして下記の2つは何が違うのでしょうか?
char * const str1 = “abc”;
char const str2[] = “abc”;

よく言われるのは,
 char * str3 = “abc”;
 char str4[] = “abc”;
こちらのパターン。

 str3 = “”; // OK
 str4 = “”; // エラー
 str3[0] = ‘1’; // OK
 str4[0] = ‘1’; // OK

charの配列は,初期化子で文字列を入れられるだけなので
代入はできません。
ポインタの場合は,アドレスの参照先の値を書き換えるだけなので,
代入する事が出来ます。

では,constをつけるとどうなるのか。

char * const str1 = “abc”;
char const str2[] = “abc”;

 str1 = “”; // エラー
 str2 = “”; // エラー
 str1[0] = ‘1’; // OK
 str2[0] = ‘1’; // エラー

こうなります。
ポインタに対する * const 変数
のような場合,ロックされるのは変数の値(アドレス)なので,
アドレスを書き換える事ができなくなります。
なので,str1 = “”;が出来なくなるんですね。

そして,配列の場合の const 変数
のような場合,ロックされるのは配列の値全てなので,
値を書き換える事ができなくなります。
なので, str2[0] = ‘1’;が出来なくなるんですね。

ちなみに,
 str1[0] = ‘1’; // OK
これですが,
const char * str1 = “abc”; か char const * str1 = “abc”;
と書くことで,ロックする事が出来ます。

comments

charの配列・ポインタと文字列(文字列リテラル)について

charの配列と
charのポインタの文字列の扱い方について

私の只のメモなんで,分かり難くても知らないです><!
char * str = “abc”;
この”abc”は,メモリの定数領域に確保されたものだから
例えば,
char *str1 = “abcd”;
char *str2 = “abcd”;
とした場合,機器にもよるが”abcd”のアドレスは同値となる。
この時,
str1[0] = ‘b’;のように書くことはできるが,
実行すると例外を吐き出されるので注意(やらん方がいいってことで)

続いて,
char str1[] = “abcd”;
char str2[] = “abcd”;
とした場合,スタック領域に値が一つ一つ入れられるので
この場合の”abcd”は{‘a’,’b’,’c’,’d’,”}の略でしかない
ので,中の値を書き換えることに何の問題もない。
但し,配列のため
str1 = みたいな代入はもちろん不可

 

comments

夜桜四重奏~ハナノウタ~ 4話

ネタバレ注意っ!

 

 

あらすじ?
春なのにあっつい><!
ということで,お花見しながら水着でプールにっ!
なのに,ヒメはいつもの厚着・・・
その訳は,「学校の水着しか持ってない!」
ならばと,ぺろっと水着を舐めてショートカット!競泳水着!
着替えたヒメもかわいいっ!でも,それは外さないのね・・;
そして,矢文で突然現る小姫ちゃん。
9歳の町長立候補は彼女のことだったのね~
元町長の負けるところしか見えないw
と,この辺から急にシリアスモード
7号が咲く?!
7号は,あちらの世界とこちらの世界を繋ぐ7本の大樹
咲いてしまうと,あちらの世界がこちらの世界にあふれてしまいます。
大丈夫かもしれないけれど,大丈夫じゃない確率の方が高そう・・・
もってあと1年・・・秋名の腕の見せ所?

4話と全く関係ないですが,OPが素晴らしいですね!
みなさんも一度是非聞いて下さい!

comments

まどかマギカ[新編]叛逆の物語

映画見に行ってきました~!

事前情報一切チェックしていなかったので,新キャラ登場にびっくり!
というか,めっちゃかわいい~><
シャルロッテも超かわいい><カマンベール♪カマンベール♪

映画の前編と後編見ていなかったけれど,普通についていけたし
まぁ,不思議空間は相変わらずわけわからんけれどw

一見の価値ありです!というか,また見たい><
いつから,普通だった街並みが不思議空間になったのか・・・

あ,ちなみに 私はアニメは見てましたから,何も見ていない人は前編後編の映画がお勧めです

comments

背景かえてみました

IMG_20130811_110037

岐阜県 白川郷へ行った時の写真です。

comments

配列による文字列

配列による文字列
プログラムで書くと ↓ こんな感じ?
const char str[] = “”;

今回気になったのは,が配列の途中にあった場合,出力はどうなるのか?
文字配列中のは,どのように処理されるのか気になったのです。
“abcdef” という文字列だった場合という事ですね。
普通に考えたら,abcのみ出力して,それで終了です。
さて,合っているのでしょうか。

キャプチャ

どうやら正解の様です。str自体の大きさは,abcdefの8バイト
こちらも,特に問題はないですね。

こうなると,が入ってても最後まで出力する方法も知りたいですね。
といっても,私が知ってる限りでは,
for(int i = 0; i < sizeof(str); i++)
{
  std::cout << str[i];
}
と書くことでしょうか。
実行してみると,の部分は半角スペースで表示されました。

 

comments

ミス・モノクローム 4話

ネタバレ無理な人は読まないでください。

 

 

 

あらすじ
モノクロームちゃんネンドロイドになります。
アイドルの道は遠いっ><!

1~3話に比べて,私的面白さは下がっていましたが,
それでも楽しくみています♪
あいかわらず,なにやるかわかんない所がいいですね!
なぜ木彫り!鉄加工までできるのっ?!というか,熊っぽい感じになったのに
出来上がったのは,なぜ超ハイテクw
相変わらず先が読めませんw

TVアニメ「ミス・モノクローム -The Animation-」2013年10月よりTVアニメ放送中!

 ちなみに,EDがすごく気に入りました♪一度聞いてみてください!
そして,ねんどろいど発売 かもっ?! 詳しくはhttp://ow.ly/i/3uH24こちら?

comments

ぎんぎつね 3話

私はネタバレいける口だけれど,ネタバレむりー!なひとは,見ないでねっ♪

 

あらすじ
ぎんたろうとまことがデートですっw
お城を見たり,フリーマーケットに行ったりと,デートを楽しんでる模様
っていうのは,ほんとだけれど 正確にいうと
住処を失ったカメさん(カメ様?)のお宿探しに行っております
狛犬さんたちの所で,住まわせてもらえるようなので,よかったねっ♪

今回の見どころ?は,
ぎんたろう曰く余計な話を耳にしたまことが落ち込んで,
私も忘れられちゃうのかな・・・とこぼした思いに
顔を真っ赤にして(白だけど)ふぉろーするぎんたろうの姿でしたw

comments

アウトブレイクカンパニー3話

ネタバレ余裕な人なので ネタバレむりー!なひとは見ないでね

 

 

あらすじ
幼女にお願いした結果,軍隊を貸してもらい神聖エルダント帝国に学校を建設。
オタク文化を学ぶ学校が始動し始め,学校には身分の違いなどなく集まった子供たち。
その中に突然現れた,過激組織によるテロ事件。その窮地を救ったのは,●×マギカの着メロ。
敵のリーダーはついに追い込まれ,自決覚悟で学校丸ごと破壊できる規模の魔法を発動するも,まさかの赤いあいつで魔法が止まり,最後の最後にはなった一刀はミュセルの脇腹にっ!
次週,元気でかわいいミュセルが見られるだろうかっ?!

とまぁ,こんなことを書いておきながらですが,
今回の見せ場は,ミュセルの日本語でした♪
たどたどしく,日本語を話すみゅせるかわいい~><
そして,あの習熟能力たけぇ!!
もぅ,指輪なしで通訳できるですとっ?!
てか,みのりさん そんなところにそんなもん隠してたんですねっ!
気になる人はアニメや小説をチェック♪

comments

比叡山ハイキング!

本日は,1日目の比叡山ハイキング♪
でも,あいにくの天気模様;;

ロープウェイ修理中という事で,徒歩での下山となりますし,
雨の中の山はとっても危険><
という事で,本日は登山口までのハイキングとなりました♪

みなさん,雨の中お疲れ様ですっ☆

comments