字符串、指针、引用、数组基础
生活随笔
收集整理的這篇文章主要介紹了
字符串、指针、引用、数组基础
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1.字符串: 字符是由單引號(hào)所括住的單個(gè)字母、數(shù)字或符號(hào)。若將單引號(hào)改為雙引號(hào),該字符就會(huì)變成字符串。它們之間主要的差別是:雙引號(hào)的字符串“A”會(huì)比單引號(hào)的字符串’A’在字符串的最后補(bǔ)上一個(gè)結(jié)束符’\0’(Null字符,ASCLL值為0)。 兩種方式創(chuàng)建字符串: 1)字符串?dāng)?shù)組: char str1[ ] = “This is a test ! “; 2)聲明String類(lèi) #include<string> string str2 = “This is a test ! “; 2.指針 1)取地址符:& &變量名稱(chēng); ?//獲得變量所在的內(nèi)存地址 2)指針變量: 用來(lái)存儲(chǔ)內(nèi)存地址的變量。 數(shù)據(jù)類(lèi)型 *指針變量 = &變量名稱(chēng); 3)指針數(shù)組: 一維指針數(shù)組的聲明格式: 數(shù)據(jù)類(lèi)型 *數(shù)組名[元素名稱(chēng)]; 過(guò)去以二維的字符數(shù)組來(lái)存儲(chǔ)字符串?dāng)?shù)組: char name[4][10] = {“Justinian”, “Momo”, “Becky”, “Bush” }; 現(xiàn)在可以改為聲明一維字符串指針數(shù)組://將指針指向各個(gè)字符串的起始地址,如name[0]指向字符串“Justinian” char *name[4] =?{“Justinian”, “Momo”, “Becky”, “Bush” }; 3.動(dòng)態(tài)分配 內(nèi)存在運(yùn)行階段分配,若指向動(dòng)態(tài)分配內(nèi)存空間的指針,在未釋放該地址空間前又指向了別的內(nèi)存空間,則原指向的內(nèi)存空間將無(wú)法被釋放,從而造成內(nèi)存泄露。 1)動(dòng)態(tài)分配變量: 聲明格式: 數(shù)據(jù)類(lèi)型 *指針變量 = new 數(shù)據(jù)類(lèi)型(初值); 如: int *ptr = new int; delete ptr; 2)動(dòng)態(tài)分配數(shù)組: int *ptr = new int[ nop ]; ? ?//動(dòng)態(tài)分配數(shù)組為nop個(gè)元素 delete []ptr; 4.引用 int j = 20; int &refj = j ; ? //聲明引用需使用取地址符號(hào)&,并且同時(shí)設(shè)置初值 注意:當(dāng)refj成為j的別名后,就不能再將refj這個(gè)標(biāo)識(shí)符重復(fù)聲明為其他變量或?qū)ο蟮膭e名,并且所用作用于refj身上的運(yùn)算處理都會(huì)同時(shí)作用到j(luò)身上。 5.指針引用 將引用的初值指向某個(gè)指針變量的地址。 如: int Arr[3] = {1,2,3};
int* PtrArr = Arr; //聲明指針變量PtrArr,并指向數(shù)組Arr的起始地址
int* &refArr = PtrArr; //聲明指針引用refArr,來(lái)指向PtrArr
for(int i=0;i<3;i++)cout<<*( refArr+i )<<“ “;
cout<<endl; #include <iostream>
#include <cstdlib>
usingnamespacestd;
intmain(intargc, constchar* argv[]) {// insert code here...charName[] = "John";char*p_N = "Marry"; //定義字符串指針 *p_N 并設(shè)置其初值cout<<"Name[]的地址:"<<&Name<<" 字符串的內(nèi)容:"<<Name<<endl;//由于傳遞字符指針給cout會(huì)直接顯示出字符串,故使用強(qiáng)制類(lèi)型轉(zhuǎn)換(int *)來(lái)顯示指針變量*p_N所指向的地址cout<<"p_N的地址:"<<(int*)p_N<<" 字符串的內(nèi)容:"<<p_N<<endl;return0;
}
?
6.獲取數(shù)組長(zhǎng)度 int arr[] = {1,5,9,10,9,2}; length_arr = sizeof(arr)/sizeof(arr[0]); len_arr = end(arr)-begin(arr);轉(zhuǎn)載于:https://www.cnblogs.com/Bella2017/p/9540340.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的字符串、指针、引用、数组基础的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 周口看输卵管堵塞最好的医院推荐
- 下一篇: 周口看子宫纵隔最好的医院推荐