C++複合タイプ
2578 ワード
配列array
1配列構造
配列宣言には、{各要素に格納されている値のタイプ;配列名;配列内の要素の数;次のようになります.
ArraySizeは、定数式(8*sizeof(int))であってもよく、整数またはconst値が必要です.
2配列使用
配列内
3配列使用規則
配列は定義時にのみ初期化できます.図の配列を別の配列に割り当てることはできません.
この書き方は間違っている.
文字列配列
1文字列配列構造
文字列には後ろの空の文字が含まれています.空の文字は文字列ではありません.」s"は文字列sと0の2文字's's'はASCII 83の別の書き方を表す.
第1文は文字列の長さを求め、第2文は配列の長さを求め、空の文字を含む.
2文字列配列の入力
行向け入力:getline()
getline()は行全体を読み出し、リターンで終わります.
行向け入力:get()
getline()は改行を読み込み捨てず、get()は入力キューに改行を残します
文字列stringクラス
stringクラスを使用するには、ヘッダファイルにstringを含める必要があります.
stringクラスの構造
stringクラスの付与と接合、付加
1つの配列を別の配列に割り当てることはできませんが、1つのstringオブジェクトを別のstringオブジェクトに割り当てることができます.
に値を付ける
つなぎ合わせる
注意このときstr 3とstr 1の値は等しい.
文字列の長さを求める方法
構造の概要
構造宣言
構造体は外部で宣言され、ファイルのすべての関数で使用できます.ローカル宣言はこの関数でのみ使用できます.
構造配列、構造変数、および構造ポインタの作成
列挙
ししん
ポインタは変数であり、値自体ではなくアドレスが格納されます.アドレス演算子&.*演算子は間接値または参照解除演算子です.pがポインタであると仮定すると、*pは、ポインタpが指すアドレスに格納された値を指す.*pは従来のIntと等価である.
宣言と初期化ポインタ
ポインタ宣言は、ポインタが指すデータのタイプを指定する必要があります.
このポインタが示すアドレスは、どのような種類の値を格納かを示す.注意:ポインタに参照演算子*を解除する前に、ポインタを特定の適切なアドレスに初期化する必要があります.
ポインタわりあて
メモリアドレスをポインタに割り当てる必要があります.変数に&演算子を適用して、名前付きメモリのアドレスを取得し、new演算子は名前付きメモリのアドレスを返します.
1配列構造
配列宣言には、{各要素に格納されている値のタイプ;配列名;配列内の要素の数;次のようになります.
typeName arrayName[arraySize]
ArraySizeは、定数式(8*sizeof(int))であってもよく、整数またはconst値が必要です.
2配列使用
int yam[3]={1,2,3};
配列内
yam[0]=1;
3配列使用規則
配列は定義時にのみ初期化できます.図の配列を別の配列に割り当てることはできません.
int yam[3];
yam[3]={1,2,3}
int hand[3];
hand=yam;
この書き方は間違っている.
文字列配列
1文字列配列構造
char stringName[stringSize];
char dog[11]="Mr. Cheeps";
文字列には後ろの空の文字が含まれています.空の文字は文字列ではありません.」s"は文字列sと0の2文字's's'はASCII 83の別の書き方を表す.
strlen[stringName];
sizeof[stringName]
第1文は文字列の長さを求め、第2文は配列の長さを求め、空の文字を含む.
2文字列配列の入力
行向け入力:getline()
getline()は行全体を読み出し、リターンで終わります.
cin.getline(charName, cinSize);
行向け入力:get()
cin.get(charName,Arsize);
getline()は改行を読み込み捨てず、get()は入力キューに改行を残します
cin.get(charName,Arsize).get();
文字列stringクラス
stringクラスを使用するには、ヘッダファイルにstringを含める必要があります.
using namespace std;
std::string;
stringクラスの構造
string str;
string str1="panther"
stringクラスの付与と接合、付加
1つの配列を別の配列に割り当てることはできませんが、1つのstringオブジェクトを別のstringオブジェクトに割り当てることができます.
に値を付ける
string str1;
string str2 {"panther"};
str1=str2;
つなぎ合わせる
string str3;
str3=str1+str2;
str1+=str2;
strpy(str1,str2);
注意このときstr 3とstr 1の値は等しい.
文字列の長さを求める方法
int len1=str1.size();
int len2=strlen(str1);
構造の概要
構造宣言
struct structName
{
};
構造体は外部で宣言され、ファイルのすべての関数で使用できます.ローカル宣言はこの関数でのみ使用できます.
構造配列、構造変数、および構造ポインタの作成
structName arrayName[arraySize]
structName typeName i;
sturctName *p;
列挙
enum spectrum{red,orange,yellow, green,blue}
ししん
ポインタは変数であり、値自体ではなくアドレスが格納されます.アドレス演算子&.*演算子は間接値または参照解除演算子です.pがポインタであると仮定すると、*pは、ポインタpが指すアドレスに格納された値を指す.*pは従来のIntと等価である.
宣言と初期化ポインタ
ポインタ宣言は、ポインタが指すデータのタイプを指定する必要があります.
typeName * pointerName;
int * ptr;
char* str;
このポインタが示すアドレスは、どのような種類の値を格納かを示す.注意:ポインタに参照演算子*を解除する前に、ポインタを特定の適切なアドレスに初期化する必要があります.
ポインタわりあて
メモリアドレスをポインタに割り当てる必要があります.変数に&演算子を適用して、名前付きメモリのアドレスを取得し、new演算子は名前付きメモリのアドレスを返します.
double *pn;
double* pa;
char* pc;
double bubble=3.2;
pn=&bubble;
pc=new char;
pa=new double[30]