ビットフィールド

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
h1j1k1
記事: 37
登録日時: 6年前

ビットフィールド

#1

投稿記事 by h1j1k1 » 6年前

[1] 質問文
 [1.1] 構造体外でビットフィールドを使う
 [1.2]

コード:

typedef unsigned char:3 test1;

コード:

typedef struct { unsigned char value:3 ; }ts; 
typedef ts.value test2;
 [1.3] 普通に使えなかった
 [1.4] どうにか使いたいのですが、方法が見つからず調べても出てきませんでした

[2] 環境  
 [2.1] OS : Windows7
 [2.2] コンパイラ名 : gcc

[3] その他
 ・どの程度C言語を理解しているか
まだ初心者です
 ・ライブラリを使っている場合は何を使っているか
標準を含めるのであれば

コード:

 <stdio.h>
 <stdlib.h>
 <stdio.h>
 <stdlib.h>
 <time.h>
 <sys/stat.h>
	
です

YuO
記事: 947
登録日時: 13年前
住所: 東京都世田谷区

Re: ビットフィールド

#2

投稿記事 by YuO » 6年前

C/C++の規格上,ビットフィールドは構造体 (クラス) の中でしか定義できません。
なので,コンパイラがそれを許すような独自の拡張をしていない限り,やりたいことを実現する方法は存在しません。
オフトピック
C++かつ固定長ならstd::bitsetを使えばいいのでは,という話になりそうですが。

返信

“C言語何でも質問掲示板” へ戻る