真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

c++入門(mén)學(xué)習(xí) ----Hello World->結(jié)構(gòu)體(個(gè)人筆記)

#include
using namespace std;
int main()
{
cout << "Hello World" << endl;

成都創(chuàng)新互聯(lián)公司秉承實(shí)現(xiàn)全網(wǎng)價(jià)值營(yíng)銷(xiāo)的理念,以專(zhuān)業(yè)定制企業(yè)官網(wǎng),網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站制作,微信平臺(tái)小程序開(kāi)發(fā),網(wǎng)頁(yè)設(shè)計(jì)制作,手機(jī)網(wǎng)站開(kāi)發(fā),網(wǎng)絡(luò)營(yíng)銷(xiāo)推廣幫助傳統(tǒng)企業(yè)實(shí)現(xiàn)“互聯(lián)網(wǎng)+”轉(zhuǎn)型升級(jí)專(zhuān)業(yè)定制企業(yè)官網(wǎng),公司注重人才、技術(shù)和管理,匯聚了一批優(yōu)秀的互聯(lián)網(wǎng)技術(shù)人才,對(duì)客戶(hù)都以感恩的心態(tài)奉獻(xiàn)自己的專(zhuān)業(yè)和所長(zhǎng)。

system("pause");
return 0;
}

在控制臺(tái)中 輸出 Hello world

變量的作用: 給一段指定的內(nèi)存空間起名,方便反操作這段內(nèi)存
方便我們管理內(nèi)存空間
在內(nèi)存中 我們有一個(gè)變量 10 , 他的內(nèi)存編號(hào)是十六進(jìn)制的
例如: 0x0000 => 10 那我們要找這個(gè)內(nèi)存 數(shù)據(jù)量一大 就比較麻煩了 都是16進(jìn)制數(shù)
所以 我們起了個(gè)a 來(lái)作為變量名(方便管理內(nèi)存空間)

常量: 用于記錄程序中不可更改的數(shù)據(jù)
c++有兩種方式
#define 宏常量 在文件上方定義表示一個(gè)常量
const所修飾的變量 在變量前+const 不可更改

#define day 7 //在頭文件那邊
coust int a = 10; //這個(gè)也不可修改 也會(huì)報(bào)錯(cuò)

數(shù)據(jù)類(lèi)型: 整型

short 短整型 占用2字節(jié)
int 整型 4字節(jié)
long 長(zhǎng)整型 Windows為 4字節(jié) , linux為4字節(jié)(32位操作系統(tǒng)),8字節(jié)(64位操作系統(tǒng))
long long 長(zhǎng)長(zhǎng)整型 8字節(jié)

數(shù)據(jù)類(lèi)型 浮點(diǎn)型

float 單精度浮點(diǎn)數(shù) 4字節(jié)
double 雙精度浮點(diǎn)數(shù) 8字節(jié)
如果只寫(xiě) float a = 3.14;
那這樣 這個(gè)3.14這邊是 double 類(lèi)型的, 之后程序之后會(huì)進(jìn)行一個(gè)轉(zhuǎn)換,會(huì)把3.14轉(zhuǎn)換成float
多了一個(gè)數(shù)據(jù)轉(zhuǎn)換的過(guò)程

//科學(xué)計(jì)數(shù)法
float f1 = 3e2;//e的后面是一個(gè)正數(shù) 代表了 3* 10的2次方 代表300

float f2 = 3e-2;//e的后面是一個(gè)負(fù)數(shù) 代表了 3* 0.1的2次方 代表0.03

數(shù)據(jù)類(lèi)型 字符
char ch = 'a';
只能寫(xiě)1個(gè)字符
c和c++中 字符變量只占一個(gè)字節(jié)
字符型變量并不是把字符本身放到內(nèi)存中存儲(chǔ),而是將對(duì)應(yīng)的ascll編碼放入到存儲(chǔ)單元

數(shù)據(jù)類(lèi)型 字符串
char a[] = "";//c語(yǔ)言風(fēng)格的字符串
string a = "bbb";//c++語(yǔ)言風(fēng)格的字符串
#include;//在使用c++風(fēng)格的字符串的時(shí)候 要引用頭文件

數(shù)據(jù)類(lèi)型: bool 布爾

bool類(lèi)型占 1個(gè)字節(jié)大小

sizeof 求出 數(shù)據(jù)類(lèi)型占用內(nèi)存大小
sizeof(數(shù)據(jù)類(lèi)型/變量)

轉(zhuǎn)義字符:不能顯示出來(lái)的ASCll字符

數(shù)據(jù)的輸入 cin 關(guān)鍵字
cin>>a 將控制臺(tái)輸入的 數(shù)字 賦值給a

數(shù)組:就是一個(gè)集合 里面存放了 相同的數(shù)據(jù)類(lèi)型
數(shù)組是由連續(xù)的內(nèi)存位置組成的;

一維數(shù)組
可以統(tǒng)計(jì)整個(gè)數(shù)組在內(nèi)存中的長(zhǎng)度
可以獲取數(shù)組在內(nèi)存中的首地址

&取地址符號(hào)

二維數(shù)組 矩陣數(shù)組
int a[4][5] ;
為4 行 5 列的 二維矩陣數(shù)組

函數(shù)的定義
返回值類(lèi)型 函數(shù)名 (參數(shù)列表){
函數(shù)體
return 表達(dá)式:
}
函數(shù)必須寫(xiě)在Main方法后面 要嘛就必須得聲明函數(shù) 讓編譯器知道你有這個(gè) 函數(shù)的名稱(chēng) 以及如何調(diào)用函數(shù)

函數(shù)的分文件寫(xiě)法:
創(chuàng)建.h 后綴名的頭文件
創(chuàng)建.cpp后綴名的源文件
在頭文件中寫(xiě)函數(shù)的聲明
在源文件中寫(xiě)函數(shù)的定義

這是在c++中寫(xiě)的順序
我們?cè)?.h 頭文件聲明的 那個(gè)方法 ,得有
#include
using namespace std;
這兩行
之后在你的 源文件那邊 需要 引用你的 頭文件

之后在我們Main方法那邊 需要引用 頭文件

指針
可以通過(guò)指針間接訪問(wèn)內(nèi)存
內(nèi)存編號(hào)都是從0開(kāi)始記錄的 用16進(jìn)制數(shù)來(lái)表示
可以利用指針變量保存地址

int a= 10 ; 內(nèi)存中是 10這個(gè)數(shù)據(jù), 用a來(lái)找 編號(hào)0x0001;
我用一個(gè) p 來(lái)存儲(chǔ) 0x0001 這個(gè)地址 那這個(gè) p 就是指針

用p這個(gè)指針來(lái)記錄了 a的地址
int * p = &a;

如何使用指針
通過(guò)解引用的方式來(lái)找到指針指向的內(nèi)存
指針前 加一個(gè) * 號(hào) ,代表解引用,代表你找到了 p指針存儲(chǔ)在內(nèi)存中的數(shù)據(jù)
*p

我們把 *p 改為1000 *p = 1000;
那內(nèi)存中的地址中的數(shù)據(jù)也一樣發(fā)生改變 a的數(shù)據(jù)也是1000;

指針也是一種數(shù)據(jù)類(lèi)型 是指針變量
指針變量占的內(nèi)存空間是多少?
在 32位操作系統(tǒng)下 都是 占用4個(gè)字節(jié)空間

在64位操作系統(tǒng)下 占用8個(gè)字節(jié)空間

空指針和 野指針
空指針: 指針變量指向內(nèi)存中編號(hào)為0的空間
用途:初始化指針變量
//空指針
// 空指針用于給指針變量進(jìn)行初始化
注意:空指針指向的內(nèi)存是不可以訪問(wèn)的 ;
0~255 之間的內(nèi)存編號(hào)是系統(tǒng)占用的 不允許更改,訪問(wèn)

int* p = NULL; //這個(gè)就是空指針的寫(xiě)法

這就是野指針,這種問(wèn)題 不會(huì)被編譯器所發(fā)現(xiàn) 編譯會(huì)通過(guò) 但是會(huì)報(bào)錯(cuò)啟動(dòng)后
(讀取訪問(wèn)權(quán)限異常)
在程序中要避免出現(xiàn)這種野指針
int* p = (int *) 0x1100;
cout << *p << endl;
0x1100 并沒(méi)有什么開(kāi)辟內(nèi)存 你直接指向 就會(huì)有問(wèn)題

const 修飾指針
const 修飾指針 ----常量指針
const 修飾常量 ----指針常量
const 既修飾指針, 又修飾常量

const 常量指針: \
就是在指針前面加 const
const int * p =&a;
當(dāng)他是常量指針的時(shí)候 指針的指向的地址 可以修改 , 但是 指針指向的值不可以修改
const int * p = &a;
*p = 20 ; //錯(cuò)誤
*p = &b ; //正確

指針常量
int * const p = &a; //這就是 指針常量 在const后面的是 常量 那就是 指針常量
指針的指向 不可以改 但是 指向的值可以更改
*p = 20 ; //正確
*p = &b ; //錯(cuò)誤

const 既修飾了指針 又修飾常量
const int * const p = &a;那就兩個(gè)都不可以修改
*p = 20 ; //錯(cuò)誤
*p = &b ; //錯(cuò)誤


指針與數(shù)組
//利用指針訪問(wèn)數(shù)組中的元素
int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
int* p = arr;//arr 就是 數(shù)組的首地址
cout << "第一個(gè)數(shù)據(jù)-------" << *p;
for (int i = 0; i < 10; i++)
{
cout << "第" << i+1 << "個(gè)數(shù)據(jù)是=" << *p< p++;
}
p++;//指針像后偏移四個(gè)字節(jié) ;

指針與函數(shù)
作用 利用指針作函數(shù)的參數(shù) 可以 修改 實(shí)參的值
其實(shí)就是 地址 傳遞 就是根據(jù)你傳入的那個(gè)地址,利用內(nèi)存地址 來(lái) 操作 那個(gè) 數(shù)據(jù)
最后 你外部的 那個(gè)被取地址的數(shù)據(jù) 如果在內(nèi)部有改變 你外部也會(huì)發(fā)生改變 ;
void GetSum(int *a, int *b,int *c)
{
*c = *a + *b;
}
void Main()
{
int a = 10 ;
int b = 20 ;
int c = 0 ;
GetSum(&a,&b,&c);
}
根據(jù)上面的方法 最后輸出的 c 就是 30 ;


結(jié)構(gòu)體

結(jié)構(gòu)體屬于用戶(hù)自定義的數(shù)據(jù)類(lèi)型,允許用戶(hù)存儲(chǔ)不同的數(shù)據(jù)類(lèi)型

struct 結(jié)構(gòu)體名 {};

實(shí)例化結(jié)構(gòu)體的 三種方法

struct Student s1;
struct Student s1={變量1,變量2,變量3}// 必須一一對(duì)應(yīng)
還有一個(gè)就是在 創(chuàng)建結(jié)構(gòu)體的時(shí)候在后面直接創(chuàng)建
struct 結(jié)構(gòu)體名 {}s1;

在創(chuàng)建結(jié)構(gòu)體不可以省略 struct
在調(diào)用創(chuàng)建的時(shí)候可以省略 struct

結(jié)構(gòu)體數(shù)組
struct 結(jié)構(gòu)體名 數(shù)組名[個(gè)數(shù)] = {{} , {} , {} };

結(jié)構(gòu)體指針

//創(chuàng)建結(jié)構(gòu)體變量
Student s1 = {"結(jié)構(gòu)體",18,100};
//通過(guò) 指針p 取得 結(jié)構(gòu)體的地址
Student* p = &s1;
//通過(guò) -> 來(lái)獲得結(jié)構(gòu)體中的屬性
p->age;

如果要獲得 指針指向的結(jié)構(gòu)體的數(shù)據(jù) 那就需要 用 ->來(lái)獲得他的數(shù)據(jù)

結(jié)構(gòu)體嵌套結(jié)構(gòu)體
1:
Student s1 = {"",18,100};
Teacher teacher = { 1,18,"老師",s1 };
2:
Teacher t1;
t1.age = 1;
t1.id = 2;
t1.name = 3;
t1.stu.age = 18; t1.stu.name = "學(xué)生"; t1.stu.score = 100;
兩種方法都可以
在第二個(gè)方法中 必須在結(jié)構(gòu)體中 創(chuàng)建 Student這個(gè) 結(jié)構(gòu)體的時(shí)候 要加上 struct

在結(jié)構(gòu)體中 const的使用場(chǎng)景
在 函數(shù)中 void Prist(const student * stu)
{
}
這樣就不會(huì)在函數(shù)中修改這個(gè)結(jié)構(gòu)體 ,如果要修改 就不要加const
防止誤操作

將函數(shù)中的形參改為指針,可以減少內(nèi)存空間 而且不會(huì)有多余的副本產(chǎn)生

搜索

復(fù)制


標(biāo)題名稱(chēng):c++入門(mén)學(xué)習(xí) ----Hello World-&gt;結(jié)構(gòu)體(個(gè)人筆記)
分享路徑:http://weahome.cn/article/dsoihdh.html

其他資訊

在線咨詢(xún)

微信咨詢(xún)

電話咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部