「NULL」と「0」と「'\0'」と「""」
スーツをクリーニングに出そうとして、昨日ABUSを駐輪場に置き忘れてきたことに気づいて取りに行く。ついでに足を伸ばす。
暖を運んだ昨晩の強風、
梅の花びらももうくたびれ気味かな。
梅の花びらももうくたびれ気味かな。
葉っぱのコロニーの数、
この木何の木ビッグカンパニーの木。
この木何の木ビッグカンパニーの木。
フロントブレーキはますます当たりがついて、
ぎゅいーっと効くようになった。このシューで十分。
(シューカセットの向き前後逆)→
ぎゅいーっと効くようになった。このシューで十分。
(シューカセットの向き前後逆)→
リアはやっぱりそれなり。
高速から両手でブレーキングするときは、左右の握力を気にしなくていいので操作はしやすい。
高速から両手でブレーキングするときは、左右の握力を気にしなくていいので操作はしやすい。
日比谷公園でルーパ・ロマーナを見つけた。昭和13年、イタリア大使館から送られたもの。
ローマの地に町を作った集団のリーダーだったとされる二人は、生まれてすぐテベレ川に捨てられて狼に拾われ、狼の乳を飲んで育ったという伝承がある。
これは、ローマが誰かの家系や財産を引き継いで始まったのではなく、ゼロの起源からのものだったことを表している。
後ろ盾となるものを何も持たない彼らは、エトルリアなどの隣接するより強大な街を吸収するのではなく、同化してしまうことで大きくなっていった。昨日剣で突き合った敵が今日はおらが村のお隣さんになっているという具合で、それが発展した共和制はギリシャの非市民を締め出した直接民主制とも異なり、これによってこそローマ文明の繁栄がもたらされたのだ。というのは塩野七生さんの受け売り。
ゼロから何かを生み出すのは歴史や伝統に胸を張るよりも格好いいことであり、一見野蛮に見えるこの像は、逆にそれだけローマ人の誇りを示しているというわけである。
たとえば、主婦が買い物に使う自転車にエンジンをつけて始まったというホンダスピリットが、ハイブリッド車のインサイトにあの値段をつけさせたのであり、それはホンダの中の人の誇りの表れでもあるのだろう。
これに対するトヨタのプリウスは、プライドだけでは商売はできにゃあと、新型は発売するけど旧型もプライスダウンで販売し続るという戦略で、ホンダの副社長?だかの人は「理解できない」といったとか何とか。このガチンコ勝負もまたおもしろい。
ローマの地に町を作った集団のリーダーだったとされる二人は、生まれてすぐテベレ川に捨てられて狼に拾われ、狼の乳を飲んで育ったという伝承がある。
これは、ローマが誰かの家系や財産を引き継いで始まったのではなく、ゼロの起源からのものだったことを表している。
後ろ盾となるものを何も持たない彼らは、エトルリアなどの隣接するより強大な街を吸収するのではなく、同化してしまうことで大きくなっていった。昨日剣で突き合った敵が今日はおらが村のお隣さんになっているという具合で、それが発展した共和制はギリシャの非市民を締め出した直接民主制とも異なり、これによってこそローマ文明の繁栄がもたらされたのだ。というのは塩野七生さんの受け売り。
ゼロから何かを生み出すのは歴史や伝統に胸を張るよりも格好いいことであり、一見野蛮に見えるこの像は、逆にそれだけローマ人の誇りを示しているというわけである。
たとえば、主婦が買い物に使う自転車にエンジンをつけて始まったというホンダスピリットが、ハイブリッド車のインサイトにあの値段をつけさせたのであり、それはホンダの中の人の誇りの表れでもあるのだろう。
これに対するトヨタのプリウスは、プライドだけでは商売はできにゃあと、新型は発売するけど旧型もプライスダウンで販売し続るという戦略で、ホンダの副社長?だかの人は「理解できない」といったとか何とか。このガチンコ勝負もまたおもしろい。
『危険なプログラムの処方箋』より。
aのサイズは16byteだが、
関数への引数として渡されると、
romanaの引数にchar i[16]と書いているにもかかわらず、そのiのサイズは4byte。
Cは実効速度を優先するので、配列の引数はコンパイラが勝手にポインタとして処理しますという説明以外に納得できる理由があるなら知りたい。
ないなら、C言語コーランの教えがそうなっているので信じますとしか言えん。
あとこれ
char gStr[128];コンパイラが唯一通すf4()だけ、0番地のNULL領域を使用せず、gStrに'\0'がセットされるというわけらしい。別の本では、128byteの残りの領域も'\0'埋めされるともある。
void f1(){ strcpy(gStr, NULL); }
void f2(){ strcpy(gStr, 0 ); }
void f3(){ strcpy(gStr, '\0'); }
void f4(){ strcpy(gStr, "" ); }
p90の説明を引用しておくと、
簡単にいえばJavaScriptのnullとundefinedと0は迷わなくなったけど、これは意味分かりません。これもコーランの教えでつか。
「NULLは無効なポインタ」
「数値のゼロは単なるゼロ」
「'\0'は文字列の文末コード(数値だと単なるゼロ)」
「""は空っぽな文字列」
という解釈になるでしょう。実際に機械語に落とされた結果を眺めると一発で分かるのですが、NULLにしても0にしても'\0'にしても「ゼロという値」がstrcpy関数の2つめの引数にセットされます。