摘要:結(jié)論一維數(shù)組在內(nèi)存中是連續(xù)存放的二維數(shù)組關(guān)于二維數(shù)組的創(chuàng)建二維數(shù)組中的表示行數(shù),表示列數(shù)注意二維數(shù)組的不完全初始化剩下的元素也都默認(rèn)為。示例如下關(guān)于二維數(shù)組的打印我們通過二維數(shù)組的下標(biāo)來(lái)進(jìn)行打印,而二維數(shù)組的行和列下標(biāo)都是從開始的。
?目錄
關(guān)于“strlen”與“sizeof”的區(qū)別
關(guān)于一維數(shù)組在內(nèi)存中的儲(chǔ)存
關(guān)于二維數(shù)組在內(nèi)存中的儲(chǔ)存
數(shù)組的[]中要給一個(gè)常量才行,不能使用變量。
錯(cuò)誤寫法:
?正確寫法:
?除整型之外還可創(chuàng)建以下數(shù)組:
注意:不完全初始化,剩下的元素默認(rèn)初始化為0。
示例如下:
我們需根據(jù)其數(shù)組的下標(biāo)來(lái)進(jìn)行打印,而下標(biāo)是從0開始。
舉例:
#include#define _CRT_SECURE_NO_WARNINGSint main(){ char arr [] = "abcdef"; // " a b c d e f /0" // 下標(biāo) " 0 1 2 3 4 5 " int i = 0; // 定義整型 ‘i’ 為下標(biāo)數(shù) for (i = 0; i < 6; i++) { printf("%c", arr[i]); } return 0;}
結(jié)果為:
?
siazeof(計(jì)算變量、數(shù)組、類型的大小—單位是字節(jié)—操作符)
strlen(求字符串的長(zhǎng)度—“/0”之前字符個(gè)數(shù)—僅針對(duì)字符串求長(zhǎng)度—得引用頭文件
示例1如下:
#define _CRT_SECURE_NO_WARNINGS 1#include#includeint main(){ char arr4[] = "abcdef"; // "abcdef/0" printf("%d/n", sizeof (arr4) ); printf("%d/n", strlen (arr4)); return 0;}
結(jié)果如下:?
sizeof (“a b c d e f /0”)一共七個(gè)元素—— 7*1=7
strlrn? (“a b c d e f /0”)“/0”之前6個(gè)字符—— 6
示例2如下:
#define _CRT_SECURE_NO_WARNINGS 1#include#includeint main(){ char arr1[] = "abc"; char arr2[] = { "a", "b", "c" }; printf("%d/n", sizeof(arr1)); printf("%d/n", sizeof(arr2)); printf("%d/n", strlen(arr1)); printf("%d/n", strlen(arr2)); return 0;}
結(jié)果如下:
sizeof(arr1)— "?a? b? c? /0 " — 4*1=4
sizeof(arr2)— { "a", "b", "c" } — 只有三個(gè)元素—?3*1=3
strlen (arr1)—? "?a? b? c? /0 " — "/0"之前三個(gè)字符—3
strlen (arr2)— { "a", "b", "c" } — 因?yàn)閟trlen是運(yùn)算到"/0"結(jié)束,我們并不知道在元素"c"之后的元素,所以其所打印出來(lái)數(shù)的應(yīng)是隨機(jī)數(shù)
sizeof是可計(jì)算變量、數(shù)組、類型的大小的操作符,當(dāng)我們計(jì)算整個(gè)數(shù)組的大小然后再除以數(shù)組中單個(gè)元素的大小,便可以得到該數(shù)組的元素個(gè)數(shù)。
舉例:(利用這一點(diǎn)我們可以很方便的打印出數(shù)組中的各元素)
#include#define _CRT_SECURE_NO_WARNINGSint main(){ int arr[] = { 1,2,3,4,5,6,7,8,9,0 }; int sz = sizeof(arr) / sizeof(arr[0]); // 利用 sizeof 計(jì)算數(shù)組中元素的個(gè)數(shù) int i = 0; for (i = 0; i < sz; i++) { printf("%d", arr[i]); } return 0;}
結(jié)果為:
舉例:(我們先打印出數(shù)組中各元素的地址尋找規(guī)律)
#include#define _CRT_SECURE_NO_WARNINGSint main(){ int arr[] = { 1,2,3,4,5,6,7,8,9,10 }; int sz = sizeof(arr) / sizeof(arr[0]); int i = 0; for (i = 0; i < sz; i++) { printf("arr[%d]=%p/n",i,&arr[i]); } return 0;}
結(jié)果為:(該地址為16進(jìn)制)( 0-9? a(10) b(11) c(12) d(13) e(14) f(15))
我們不難觀察出其相鄰元素地址之間都相差為4,為整型元素4個(gè)字節(jié)的大小。?
結(jié)論:一維數(shù)組在內(nèi)存中是連續(xù)存放的
?二維數(shù)組中的【3】表示行數(shù),【4】表示列數(shù)
注意:1:二維數(shù)組的不完全初始化剩下的元素也都默認(rèn)為0。
? ? ? ? ?? 2: 二維數(shù)組行可省略,列不可省略。??
示例如下:
?
我們通過二維數(shù)組的下標(biāo)來(lái)進(jìn)行打印,而二維數(shù)組的行和列下標(biāo)都是從0開始的。
舉例:
#include#define _CRT_SECURE_NO_WARNINGSint main(){ int arr[3][4] = { {1,2,3},{4,5} }; // 下標(biāo) : 0 1 2 3 // // 0 1 2 3 0 // 1 4 5 0 0 // 2 0 0 0 0 // int i = 0; for (i = 0; i < 3; i++) { int j = 0; for (j = 0; j < 4; j++) { printf("%d ", arr[i][j]); } printf("/n"); } return 0;}
舉例:(我們先打印出數(shù)組中各元素的地址尋找規(guī)律)(int arr [3][4])
#include#define _CRT_SECURE_NO_WARNINGSint main(){ int arr[3][4]; int i = 0; for (i = 0; i < 3; i++) { int j = 0; for (j = 0; j < 4; j++) { printf("arr[%d][%d]=%p/n ",i,j, &arr[i][j]); } } return 0;}
結(jié)果為:
我們也不難觀察出其相鄰元素地址之間都相差為4,為整型元素4個(gè)字節(jié)的大小。
實(shí)際二維數(shù)組在儲(chǔ)存時(shí)變?yōu)槿鐖D形式連續(xù)存放
以上便是關(guān)于數(shù)組的內(nèi)容了,喜歡可點(diǎn)個(gè)贊或收藏哦!
謝謝瀏覽!(如有問題,請(qǐng)各位大神即使指出,我會(huì)及時(shí)糾正!)
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/125653.html
摘要:官網(wǎng)優(yōu)惠碼前三個(gè)月優(yōu)惠促銷套餐以下原價(jià)購(gòu)買請(qǐng)使用優(yōu)惠碼套餐內(nèi)存硬盤帶寬流量防御價(jià)格購(gòu)買月點(diǎn)此直達(dá)月點(diǎn)此直達(dá)月點(diǎn)此直達(dá)月點(diǎn)此直達(dá)月點(diǎn)此直達(dá)月點(diǎn)此直達(dá)月點(diǎn)此直達(dá)月點(diǎn)此直達(dá)月點(diǎn)此直達(dá)月點(diǎn)此直達(dá)月點(diǎn)此直達(dá)月點(diǎn)此直達(dá)月點(diǎn)此直達(dá) 官網(wǎng):https://hostvenom.com 優(yōu)惠碼: BF2021? ? 前三個(gè)月20%優(yōu)惠 促銷套餐: 以下原價(jià)購(gòu)買請(qǐng)使用優(yōu)惠碼 ...
摘要:語(yǔ)言中使用斜杠來(lái)表示一個(gè)字符串的結(jié)束。注意事項(xiàng)由于被替換,如果字符串末尾有,換行會(huì)出現(xiàn)兩次。函數(shù)的原型成功返回失敗返回將的字符串錄入到文件指針中。 前言: 考慮到之前在專欄中講字符串的時(shí)候有些知識(shí)點(diǎn)沒有詳細(xì)地講解,所以本篇是對(duì)字符串相關(guān)的知識(shí)點(diǎn)的補(bǔ)充篇!例如 %s 輸出左對(duì)齊右對(duì)齊,限制...
摘要:第二條軍規(guī)必須畫圖理解,內(nèi)存布局語(yǔ)言是一門偏底層的語(yǔ)言,可以直接操作訪問內(nèi)存的所以我們應(yīng)該清楚知道,寫出的代碼所對(duì)應(yīng)的內(nèi)存布局。如果想學(xué)好語(yǔ)言,三條軍規(guī)勢(shì)在必行最后,關(guān)于學(xué)好語(yǔ)言我想說(shuō)的也就到這里了,感謝你的觀看。 目錄 一.講這個(gè)主題的原因 二.關(guān)于選擇問題 三.具體學(xué)習(xí)方法 一.為什么要...
摘要:如果我們要將的地址保存到中,我們需要我們給指針變量相應(yīng)的類型。類型的指針是為了存放類型變量的地址這里可以看到,指針的定義方式是類型名指針變量名。如下最后本文介紹的是指針的基礎(chǔ)知識(shí),往后還會(huì)繼續(xù)深入講解指 ...
閱讀 3792·2023-01-11 11:02
閱讀 4299·2023-01-11 11:02
閱讀 3121·2023-01-11 11:02
閱讀 5231·2023-01-11 11:02
閱讀 4793·2023-01-11 11:02
閱讀 5568·2023-01-11 11:02
閱讀 5371·2023-01-11 11:02
閱讀 4070·2023-01-11 11:02