字符串、指针、引用、数组基础
生活随笔
收集整理的這篇文章主要介紹了
字符串、指针、引用、数组基础
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.字符串: 字符是由單引號所括住的單個字母、數字或符號。若將單引號改為雙引號,該字符就會變成字符串。它們之間主要的差別是:雙引號的字符串“A”會比單引號的字符串’A’在字符串的最后補上一個結束符’\0’(Null字符,ASCLL值為0)。 兩種方式創建字符串: 1)字符串數組: char str1[ ] = “This is a test ! “; 2)聲明String類 #include<string> string str2 = “This is a test ! “; 2.指針 1)取地址符:& &變量名稱; ?//獲得變量所在的內存地址 2)指針變量: 用來存儲內存地址的變量。 數據類型 *指針變量 = &變量名稱; 3)指針數組: 一維指針數組的聲明格式: 數據類型 *數組名[元素名稱]; 過去以二維的字符數組來存儲字符串數組: char name[4][10] = {“Justinian”, “Momo”, “Becky”, “Bush” }; 現在可以改為聲明一維字符串指針數組://將指針指向各個字符串的起始地址,如name[0]指向字符串“Justinian” char *name[4] =?{“Justinian”, “Momo”, “Becky”, “Bush” }; 3.動態分配 內存在運行階段分配,若指向動態分配內存空間的指針,在未釋放該地址空間前又指向了別的內存空間,則原指向的內存空間將無法被釋放,從而造成內存泄露。 1)動態分配變量: 聲明格式: 數據類型 *指針變量 = new 數據類型(初值); 如: int *ptr = new int; delete ptr; 2)動態分配數組: int *ptr = new int[ nop ]; ? ?//動態分配數組為nop個元素 delete []ptr; 4.引用 int j = 20; int &refj = j ; ? //聲明引用需使用取地址符號&,并且同時設置初值 注意:當refj成為j的別名后,就不能再將refj這個標識符重復聲明為其他變量或對象的別名,并且所用作用于refj身上的運算處理都會同時作用到j身上。 5.指針引用 將引用的初值指向某個指針變量的地址。 如: int Arr[3] = {1,2,3};
int* PtrArr = Arr; //聲明指針變量PtrArr,并指向數組Arr的起始地址
int* &refArr = PtrArr; //聲明指針引用refArr,來指向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 并設置其初值cout<<"Name[]的地址:"<<&Name<<" 字符串的內容:"<<Name<<endl;//由于傳遞字符指針給cout會直接顯示出字符串,故使用強制類型轉換(int *)來顯示指針變量*p_N所指向的地址cout<<"p_N的地址:"<<(int*)p_N<<" 字符串的內容:"<<p_N<<endl;return0;
}
?
6.獲取數組長度 int arr[] = {1,5,9,10,9,2}; length_arr = sizeof(arr)/sizeof(arr[0]); len_arr = end(arr)-begin(arr);轉載于:https://www.cnblogs.com/Bella2017/p/9540340.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的字符串、指针、引用、数组基础的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 周口看输卵管堵塞最好的医院推荐
- 下一篇: android 调试技巧