pszとは – プログラミング – Home

通知
すべてクリア

[解決済] pszとは


チャイ
 チャイ
(@チャイ)
ゲスト
結合: 16年前
投稿: 24
Topic starter  

ネットでVCのソースを調べるときにchar psz[] = ...のように
変数にpszと付けているのをよく目にするのですが、この意味って
何でしょうか?(何かの略?)
今まで適当に付けてた変数名を統一しようと思っているのですが、
どなたか教えてください。


引用未解決
トピックタグ
wclrp ( 'o')
 wclrp ( 'o')
(@wclrp ( 'o'))
ゲスト
結合: 18年前
投稿: 287
 

C言語では文字列専用の型があるわけじゃなくて
最後が0になっているchar型のデータが並んだものを文字列としてます。

検索してみたところ以下のようだね
pointer to a zero-terminated string
これが正式なものかどうかは知らないけど。


返信引用
チャイ
 チャイ
(@チャイ)
ゲスト
結合: 16年前
投稿: 24
Topic starter  

wclrp ( 'o')さん有難うございます。

確かにpointer to a zero-terminated stringで検索かけたら出てきました。
自分でもpszで調べてはいたのですが、、、

要は文字列だよって明示するためのものだったのですね。
でもpszよりpzsのほうが順番的には、って思うのですが、、、(そこはいっか)
解決です。有難うございました!


返信引用
たいちう
 たいちう
(@たいちう)
ゲスト
結合: 23年前
投稿: 662
 

> でもpszよりpzsのほうが順番的には、って思うのですが、、、(そこはいっか)

pointer to a string terminated by zero

語順に拘るならこう。Googleによるとこっちの方が多く使われている。


返信引用
Z
 Z
(@Z)
ゲスト
結合: 22年前
投稿: 13
 

> ネットでVCのソースを調べるときにchar psz[] = ...のように

ちょっと気になったのですが、
文字配列そのもののときは、pszではなくszが使われるのではないでしょうか。

個人的には、ゼロで終わらない文字列を扱ったことが無いので、
szという形式はいまいち馴染めず、char str[]や、char* pStrと書いていますが。


返信引用
たいちう
 たいちう
(@たいちう)
ゲスト
結合: 23年前
投稿: 662
 

> ちょっと気になったのですが、
> 文字配列そのもののときは、pszではなくszが使われるのではないでしょうか。

char psz[] に一致する日本語のページ 約 1,720,000 件中 1 - 10 件目 (0.16 秒)
char sz[] に一致する日本語のページ 約 11,900 件中 1 - 10 件目 (0.03 秒)

だからどうということもないのですが、変数pszはchar型へのポインタですし、
文字列の先頭の文字を指しているchar*型の変数です。
意味的にもpszで良いと思いますよ。

> 個人的には、ゼロで終わらない文字列を扱ったことが無いので、
> szという形式はいまいち馴染めず、char str[]や、char* pStrと書いていますが。

今、システムハンガリアンを積極的に薦めている人はあまりいないのでは?
昔そんな書き方が流行った、と覚えておけば十分なのかも。
頻繁に目にするならば、pszは多分文字列を指す、とか自然と覚えるでしょう。

http://always-pg.com/glossary/kana06_ha/hungarian_notation.html


返信引用
aetos
(@aetos)
Noble Member
結合: 5年前
投稿: 1480
 

個人的には、使うのであれば、文字配列には sz、ポインタには psz ですね。

char szText[256];
char * pszText = szText;
char * pszBuffer = (char*)malloc(256);


返信引用
たいちう
 たいちう
(@たいちう)
ゲスト
結合: 23年前
投稿: 662
 

> 文字列の先頭の文字を指しているchar*型の変数です。

ちょっといい加減に書きすぎたかな。反省。
char str[] = 1234; と書いた場合のstrの型はchar[5]ですね。

シャノンさん
> 個人的には、使うのであれば、文字配列には sz、ポインタには psz ですね。

ハンガリアンにとってはきっと諸悪の根源である、Programming Windows
(この本のせいでアプリケーション ハンガリアンまで駆逐されることに)
をパラパラ見てみると、文字配列に psz を使っている例は
みつかりませんでした。ただ、ポインタに sz を使っている例はありました。

この本ではあまり厳密ではないのか、私には理解できないニュアンスを
著者は感じ取っているのか。まーどーでもいいことですが。


返信引用
aetos
(@aetos)
Noble Member
結合: 5年前
投稿: 1480
 

そういえば、lpsz を使っている場合もありますね。
l は long ですね。near とか far の時代の名残。
今では psz と lpsz に違いはありません。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました