C++複雑なタイプ

1220 ワード

ベース:
1.代入:
構造体の付与値は、値伝達が参照伝達ではないことです.
 
 
構造体(struct):
1.構造体の一般的な定義:
 
 
typedef struct tagSTUDENT{
	int id;
	char name[20];
	bool sex;
}STUDENT,*PSTUDENT; 

 
struct tagSTUDENT1{
	int id;
	char name[20];
	bool sex;
}initStudent = {123,"222",true}; 
 
2.typedef:このキーワードを使用して、複合タイプを含むタイプの名前を変更し、参照と定義の結合度を低減します.
 
3.構造体メモリの計算規則:
(1)複雑なタイプのメモリ割当ては、前のN個の変数が占めるメモリをN+1個目の変数で除算しなければならない.N+1個目が除算できない場合は、N個目(2)のすべての変数が占めるメモリの総和を最大の変数で除算し、メモリを最後の変数の後に補うことができる.
複雑なタイプを定義する際には、変数の前後順を考慮して、無駄なメモリを最小限に抑える必要があります.
 
4.構造体の中の変数の個数:構造体のアドレスは、その最初のサブのアドレスと同じです.したがって、アドレスによってオブジェクトの個数を分割すると、構造体のオブジェクトの個数はそのサブの個数となる.コンビネーションオブジェクトは、データが同じメモリに保存されているため、1つしかありません.
 
 
コンビネーション(union):コンビネーションには1つの子しか機能しないので、最後に割り当てられたのは誰なのかに注意しなければなりません.
1.連合体の定義:
 
union tagAny{
	char c;
	short n;
	int i;
	float f;
	double d;
}
 
2.連合体メモリの計算:連合体のメモリはその中の最大の1つのサブの長さ以上である(そして、長さがすべてのサブの整数倍であることを保証する).