
A 回答 (6件)
- 最新から表示
- 回答順に表示
No.6
- 回答日時:
どちらも「ない」事ですが、違いを分かりやすく言えば
ブランク(空白)は見たけど無い
ヌル(null)は見てないのでわから無い
情報処理に従事してる方には当たり前の事ですが、値は全然違います。
ブランク= 20(16)や40(16)
ヌル= 00(16)
No.5
- 回答日時:
#3です。
#4さんの回答を受けて自分の回答が誤解を招くと思ったので修正回答です。一般的に「意味をもたない空白」をブランクと、「間隔・距離(意味をもつ空白)」をスペースと表現しわけます。(必ずしもそうでない場合も有りますが、やはり多くの場合は使い分けます。)
そうした「意味をもたない空白,箱」という意味で "" をブランクと呼ぶ人が多いです。対して " " は明確に間隔・距離を示すスペース(文字)と呼ぶ人が多いです。
蛇足ですが、【昔は】、""をブランクではなくNULLとよび、" "をスペースではなくブランクとよぶ事が一般的に多かったのですが、今はやはり未定義の内容をNULL、" "をスペースと呼ぶのが一般的に浸透して、結果的に""をブランクと使い分けていると感じます。 このあたりの背景事情から今だ人によって解釈が異なる場合もでて、ややこしいですが。
特にブランクとスペースはどちらも空白や余白と訳されてしまいますが、ニュアンスは異なります。
No.4
- 回答日時:
★私には『""=ブランク』の表現がしっくり来ません。
・『blank』ってのは、空白、余白、スペースという意味です。
なので『""』をブランクと呼ぶ表現はおかしいと思います。普通は『""』を空文字列と呼びます。
空文字列とは、文字列が何もないが文字列としてのポインタ(アドレス)を持つデータです。
・そして、NULL はポインタ(アドレス)の値がゼロを持ち、ポインタにはデータは割り付けていない事を
意味します。つまり『データなし』を意味します。
・他にも NULL にはいろいろな意味を持たせたりします。
(1)検索処理で文字、文字群、文字列などが見つからないと NULL を返す。→エラーの意味。
(2)最初、ポインタ(アドレス)の変数に NULL をセットして初期化しておく。→初期化の意味。
(3)C言語の『fgets』関数などは、ファイルの終わりか、エラーが発生すると NULL を返してお知らせ。
上記のように処理によって意味が少しずつ異なりますが、一般には NULL は『データなし』、『無効』
『エラーが発生』などの意味を持っています。特にポインタ(アドレス)で何かのデータを返す関数では
『無効』や『エラー』時に NULL ポインタを必ず返します。
・あと NULL 文字も存在します。
これはC言語でいう文字列の最後を表す \0 を指します。
初心者さんは、NULL 文字(\0)と NULL ポインタを同じ扱いにしてしまいますが『別物』です。
NULL 文字(\0)は、文字コードが 0x00 の 1 バイトの値です。→マルチバイトの場合
これに対して NULL ポインタは、ポインタ(アドレス)の値が 0x00000000(32Bit) です。
ポインタとバイトでは意味が違います。注意!
まとめ:
・『blank』⇒空白、余白、スペースという意味です。
・『""』⇒空文字列です。何もない『空』の文字列ポインタです。
・『NULL』⇒NULL ポインタです。ポインタの値が 0x00000000 です。
・『\0』⇒NULL 文字です。文字列の最後を表すバイトで 0x00 です。
・wakasen さんが参照した記事の表現は、適切ではないため注意して下さい。→混乱させる表現です。
正しくは、『""』=空文字列、『空白』=ブランク(スペース)、『NULL』=NULL ポインタです。
・以上。おわり。
No.3
- 回答日時:
ブランク:値が存在しない/0もスペースも存在しない。
スペース:スペース文字が存在する。
ブランクも空白と表現される事がありますが、正確にはブランクは空でスペースが空白であって、意味は異なります。
NULL:値が定義されていない
NULLは、処理系によって動作が異なりますが、値が定義されていない=空(ブランク)とも、0とも、空白とも定義されていない状態です。
なかなか理解が難しいですが、日常に例えていいますと、
・箱をあなたが買って来たとします。(変数を定義します。)
さて、内容は?
答えは、「わかりません」
箱の使い方や組み立て方のパンフレットが入っているかもしれないし、何も無いかも知れません。まだ買ってきた箱は包装された状態で、内容を見る事もできません。これがNULLです。
箱の包装を開き、内容を全て取り出した状態、何も入っていない状態、これがブランクです。
注意が必要なのは、NULLとNULLは、どちらも内容がわかりませんから、比較ができません。
例えば、今日買った箱には、パンフレットが入っているかも知れません。でも、パンフレットが期間限定だったり数量限定だったりして、毎回同じとは限りません。
ですから、未開封の箱(NULL)と未開封の箱(NULL)は比較出来ません。
但し、処理系によっては、「不明な物は比較できない」とエラーになる物もあるし、「未開封」と「未開封」で同じ、と判断する物もあるし、実際に開封してみて、内容を比較し、(場合によっては)内容が異なったという結果を返す可能性すらあります。
なお、NULLと空白の比較や、ブランクと0との比較などは当然異なるという結果を返しますが、
「内容が『有る』か『無し』か?」というチェックの場合には、ブランク(何もない)・NULL(何も定義されていない)・0(数値がない)といずれも同一の結果(TRUEではない=FALSE)を返す処理が多用されます。
No.2
- 回答日時:
イメージとしては、NULLは何が分からないかも分からない状態、ブランクは何が分からないかは分かっている状態。
ブランクにはブランクというものが入っています。イメージとしては0です。そこには0というものが存在するわけです。インド人って偉大です。NULLは本当に何もありません。
扱いはソフトによって異なります。ブランクとブランクは殆ど(おそらく全て)の言語で比較が可能です。当然等しいという結果になります。
NULL同士の比較は言語によって扱いが異なります。ある限定した条件ならNULLとNULLは等しいという表現ができることもあります。ただ多くのケースでNULLとNULLの比較結果はNULLになりますし、NULLを比較しようとした時点でエラーをはくこともあります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- UNIX・Linux bashの変数でブランクがあるかチェックする方法教えて下さい。 3 2023/04/06 16:09
- UNIX・Linux bash のファイルの読み込み方についてご質問 3 2023/05/15 20:40
- 面接・履歴書・職務経歴書 履歴書の経歴の記載について。 2016年3月:4年制大学卒業 ~ブランク~ 2017年12月:A社入 1 2022/11/08 19:32
- Excel(エクセル) EXCEL関数(数式)を教えてください 4 2023/05/08 17:19
- 転職 病気で仕事にブランクがあるのですがフルタイムの仕事が決まったオッさんです。 仕事とは、耐え難きを耐え 4 2022/04/28 21:50
- その他(パソコン・周辺機器) サーバーラックの機器取り付け図において、 ・空 ・ブランク ・スペース という表記は、いずれも同じ意 1 2022/03/28 11:08
- その他(悩み相談・人生相談) 妊娠出産で職歴にブランクがあります が、特別養子縁組で良い御縁を頂き 私は子育てはしておりません こ 1 2022/07/13 22:34
- 転職 転職時のブランクの対処法 2 2023/04/27 14:01
- 面接・履歴書・職務経歴書 コンビニバイト 6ヶ月 販売正社員 4ヶ月 工具販売員 5ヶ月 ブランク期間 2年半 コンビニバイト 8 2022/12/23 16:35
- ビジネスマナー・ビジネス文書 ●業務委託契約書について。 3/1-3/31分の業務委託契約書が3/25に届きました。(3/1から業 1 2023/04/21 21:01
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語のポインタに直接アドレス...
-
セグメントエラー
-
ポインタについて
-
デバイスハンドルとは?
-
ExcelVBAでのkernel32(64bit)
-
Run-Time Check Failure #3とい...
-
戻り値で構造体を返すことは可...
-
参照型で受け取った引数をポイ...
-
別のDLLのダイアログを・・・
-
LPSTR型の初期化について
-
アプリを32bitから64bit移行
-
リトルエンディアンというもの...
-
c言語のエラーについて
-
アドレス値はどの型にキャスト...
-
C++とWIN32APIとゲームプログラ...
-
ReadFileの読み込みエラーについて
-
NULLと’\\0’のNULL文字は違うも...
-
Excel VBAで絶対アドレスのメモ...
-
プーさんのマウスポインタを教...
-
C言語の文字列?処理 strcpyやl...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語のポインタに直接アドレス...
-
fopne で失敗する原因
-
戻り値で構造体を返すことは可...
-
LPSTR型の初期化について
-
Run-Time Check Failure #3とい...
-
ExcelVBAでのkernel32(64bit)
-
参照型で受け取った引数をポイ...
-
init関数の意味
-
セグメントエラー
-
アプリを32bitから64bit移行
-
ハンドルはポインタか
-
ハンドル、アドレス、ポインタ...
-
C言語でのconstを返す関数
-
C++で関数ポインタから関数名を...
-
パスからファイル名を抽出
-
ReadFileの読み込みエラーについて
-
#define NULL ((void *)0) の弊害
-
CImage GetBitsメソッドについて
-
ポインタ変数の疑問
-
Cで作成したDLL関数をVBから呼...
おすすめ情報