掲示板利用宣言

 次のフォームをすべてチェックしてからご利用ください。

 私は

 題名と投稿者名は具体的に書きます。
 課題の丸投げはしません。
 ソースの添付は「HTML変換ツール」で字下げします。
 返信の引用は最小限にします。
 環境(OSとコンパイラ)や症状は具体的に詳しく書きます。
 返信の付いた投稿は削除しません。
 マルチポスト(多重投稿)はしません。

掲示板2

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧

No.29177

unsigned char型について
投稿者---のむら(2006/12/06 21:44:32)


unsigned char型の初期化と値の代入についてお聞きしたいのですが、
例えば

unsigned char test;

と宣言して、

初期化は

test=0x00;

とかでイイのでしょうか?

代入も

test=0x02;

みたいな感じでいいのですか?

一応、何の問題もなく値の代入はできているのですが、memsetのような感じで初期化や代入するのが正当なやりかたなのでしょうか?

 


この投稿にコメントする

削除パスワード

発言に関する情報 題名 投稿番号 投稿者名 投稿日時
<子記事> Re:unsigned char型について 29178 たかぎ 2006/12/06 22:19:01


No.29178

Re:unsigned char型について
投稿者---たかぎ(2006/12/06 22:19:01)
http://takagi.in/


unsigned char型は整数型ですので、算術定数式またはスカラ型に評価される式で初期化することになります。

memset関数を使うやり方でも値を設定できますが、厳密にいうとそれは「初期化」ではありません。
(一般的な意味で初期化ということはできますが、C言語の文法上の用語である「初期化」とは異なります)

現実問題として、memset関数を使うと、(普通に初期化する場合に比べると)可読性が低下し、プログラムサイズが増大し、実行時間が長くなります。
つまり、デメリットしかないわけですが、それを相殺してあまりある理由があるのなら、memset関数を使うのもよいでしょう。



この投稿にコメントする

削除パスワード

No.29179

Re:unsigned char型について
投稿者---のむら(2006/12/06 22:22:11)


ありがとうございます。
スカラ型というのがよく分かりませんが、
下記のような感じで初期化となっていると考えていいのでしょうか?

test=0x00;


この投稿にコメントする

削除パスワード

No.29182

Re:unsigned char型について
投稿者---nop(2006/12/07 08:53:03)


>test=0x00;

上記は初期化ではなく代入です。
初期化でしたら以下の様になります。

例1) unsigned char test=0x00;
例2) unsigned char test='\0';



この投稿にコメントする

削除パスワード

No.29183

Re:unsigned char型について
投稿者---たかぎ(2006/12/07 09:46:32)
http://takagi.in/


>スカラ型というのがよく分かりませんが、

算術型(複素数型を含む)とポインタ型をひっくるめてスカラ型といいます。


この投稿にコメントする

削除パスワード

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧