數(shù)組array
1 數(shù)組結(jié)構(gòu)
數(shù)組聲明應(yīng)該有以下三點:
{
存儲在每個元素中的值的類型生宛;
數(shù)組名项阴;
數(shù)組中的元素個數(shù)吁断;
}
即:
typeName arrayName[arraySize]
arraySize 必須時整型或者const值炮障,也可以是常量表達式(8*sizeof(int))
2 數(shù)組使用
int yam[3]={1,2,3};
在該數(shù)組中
yam[0]=1;
3 數(shù)組使用規(guī)則
數(shù)組只能在定義時初始化椿每;
不能將圖個數(shù)組賦給另一個數(shù)組伊者;
int yam[3];
yam[3]={1,2,3}
int hand[3];
hand=yam;
這種寫法是錯誤的。
字符串?dāng)?shù)組
1字符串?dāng)?shù)組結(jié)構(gòu)
char stringName[stringSize];
char dog[11]="Mr. Cheeps";
字符串包含后面的空字符间护,沒有空字符不是字符串亦渗。
”s"表示字符串s 和\0 兩個字符
's'表示ASCII 83的另一種寫法。
strlen[stringName];
sizeof[stringName]
第一句求字符串的長度汁尺,第二句求的是數(shù)組的長度法精,包括空字符。
2 字符串?dāng)?shù)組的輸入
面向行的輸入:getline()
getline()讀取整行痴突,通過回車來結(jié)尾搂蜓。
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 類的結(jié)構(gòu)
string str;
string str1="panther"
string類的賦值和拼接、附加
不能將一個數(shù)組賦給另一個數(shù)組拾积,但是可以將一個string對象賦給另一個string對象殉挽。
賦值
string str1;
string str2 {"panther"};
str1=str2;
拼接
string str3;
str3=str1+str2;
str1+=str2;
strpy(str1,str2);
注意此時str3和str1的值相等丰涉。
求字符串長度方法
int len1=str1.size();
int len2=strlen(str1);
結(jié)構(gòu)簡介
結(jié)構(gòu)聲明
struct structName
{
結(jié)構(gòu)體成員
};
結(jié)構(gòu)體在外部聲明,可以用在文件的所有函數(shù)中此再。
局部聲明只能用在該函數(shù)中昔搂。
創(chuàng)建結(jié)構(gòu)數(shù)組,結(jié)構(gòu)變量及結(jié)構(gòu)指針
structName arrayName[arraySize]
structName typeName i;
sturctName *p;
枚舉
enum spectrum{red,orange,yellow, green,blue}
指針
指針是一個變量输拇,其存儲的值是地址摘符,而不是值本身。地址運算符&策吠。
*運算符是間接值或解除引用運算符逛裤。
假設(shè)p是一個指針运褪,*p指的是绝葡,在指針p所指向的地址里存儲的值。
*p與常規(guī)Int等價结洼。
聲明和初始化指針
指針聲明必須指定指針指向的數(shù)據(jù)的類型蟀给。
typeName * pointerName;
int * ptr;
char* str;
表示這個指針指的地址存儲的是什么類型的值.
注意:一定要在對指針應(yīng)用解除引用運算符*之前蝙砌,將指針初始化為一個確定的,適當(dāng)?shù)牡刂贰?/p>
指針賦值
應(yīng)將內(nèi)存地址賦給指針跋理≡窨耍可以對變量應(yīng)用&運算符,來獲得被命名的內(nèi)存的地址前普,new運算符返回未命名的內(nèi)存的地址:
double *pn;
double* pa;
char* pc;
double bubble=3.2;
pn=&bubble;
pc=new char;
pa=new double[30]