零基礎(chǔ)玩轉(zhuǎn)C語言|數(shù)組-創(chuàng)新互聯(lián)

文章目錄
  • 前言
  • 一、一維數(shù)組
    • 1.1 一維數(shù)組的創(chuàng)建
    • 1.2 一維數(shù)組的初始化
    • 1.3 一維數(shù)組的使用
    • 1.4 一維數(shù)組在內(nèi)存中的存儲(chǔ)
  • 二、二維數(shù)組
    • 2.1 二維數(shù)組的創(chuàng)建
    • 2.2 二維數(shù)組的初始化
    • 2.3 二維數(shù)組的使用
    • 2.4 二維數(shù)組在內(nèi)存中的存儲(chǔ)
  • 三、數(shù)組越界
  • 四、總結(jié)

在港口等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站 網(wǎng)站設(shè)計(jì)制作按需求定制制作,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計(jì),營銷型網(wǎng)站建設(shè),成都外貿(mào)網(wǎng)站建設(shè)公司,港口網(wǎng)站建設(shè)費(fèi)用合理。
前言

什么是數(shù)組——數(shù)組是一組相同類型元素的集合

一、一維數(shù)組 1.1 一維數(shù)組的創(chuàng)建

數(shù)組的創(chuàng)建方式:

type_name arr_name [count_value]
// type_name::數(shù)組元素的類型
// arr_name:數(shù)組名
// arr_name:數(shù)組元素的個(gè)數(shù)(可以省略)

數(shù)組創(chuàng)建的實(shí)例:

// 代碼1
int arr1[10];

//代碼2
char arr2[];

下面數(shù)組可以正常創(chuàng)建嗎?
int count=10;
int arr3[count];
答案是:不可以。因?yàn)閿?shù)組創(chuàng)建,在C99標(biāo)準(zhǔn)之前,[ ]中要給一個(gè)常量才可以,上述創(chuàng)建數(shù)組中,count是一個(gè)整型變量


1.2 一維數(shù)組的初始化

數(shù)組的初始化是指,在創(chuàng)建數(shù)組的同時(shí)給數(shù)組內(nèi)容一些合理的初始值
代碼實(shí)例:

  1. int arr1[3]={1,2,3} 創(chuàng)建一個(gè)名為arr1的數(shù)組,數(shù)組元素個(gè)數(shù)為3,元素分別為:1,2,3
  2. int arr2[ ]={4,5,6} 創(chuàng)建一個(gè)名為arr2的數(shù)組,創(chuàng)建時(shí)未指定數(shù)組元素個(gè)數(shù),編譯器會(huì)根據(jù)初始化的值,自動(dòng)設(shè)置為3
  3. int arr3[10]={7,8,9} 這種初始化方式稱為不完全指定,數(shù)組的總元素為10,arr3的前三個(gè)元素分別初始化為7,8,9,后面7個(gè)元素自動(dòng)初始化為0

1.3 一維數(shù)組的使用

對(duì)于數(shù)組的使用,常用的操作符為:[ ] 下標(biāo)引用操作符
代碼示例:

# includeint main()
{int arr1[10]={1,2,3,4,5,6,7,8,9,0};
   int length=sizeof(arr)/sizeof(arr[0]); //計(jì)算數(shù)組元素個(gè)數(shù)
   int i=0;
   //輸出數(shù)組的內(nèi)容
   for (i=0;i  printf("%d",arr[i]);
   }
   return 0; 
}

1.4 一維數(shù)組在內(nèi)存中的存儲(chǔ)

接著我們來探討一下數(shù)組在內(nèi)存中的存儲(chǔ)
我們輸出數(shù)組每一個(gè)元素的地址,代碼如下:

# includeint main()
{int arr[]={1,2,3,4};
   int length=sizeof(arr)/sizeof(arr[0]); //計(jì)算數(shù)組元素個(gè)數(shù)
   int i=0;
   //輸出數(shù)組的內(nèi)容
   for (i=0;i  printf("&arr[%d]=%p\n",i,&arr[i]);
   }
   return 0; 
}

結(jié)果如下:在這里插入圖片描述
隨之?dāng)?shù)組下標(biāo)的增長,元素的地址也在有規(guī)律的地址,相鄰兩個(gè)元素之間的地址相差4個(gè)字節(jié),這也正是存儲(chǔ)一個(gè)整型變量需要的字節(jié)數(shù)。
因此我們得出結(jié)論:數(shù)組在內(nèi)存中是連續(xù)存放的


二、二維數(shù)組 2.1 二維數(shù)組的創(chuàng)建

和一維數(shù)組創(chuàng)建類似

type_name arr_name [row_value] [column_value]
// type_name::數(shù)組元素的類型;
// arr_name:數(shù)組名
// row_value:二維數(shù)組行數(shù)(可以省略)
// column_value:二維數(shù)組列數(shù)(不可省略)

例如:int arr[2][3], char arr2[][4]


2.2 二維數(shù)組的初始化

int arr1[2][2]={{1,2},{3,4}} 完全初始化
int arr2[3][4]={{5,6,7},{3,4}} 不完全初始化,剩下元素自動(dòng)補(bǔ)0


2.3 二維數(shù)組的使用

二維數(shù)組的使用也是通過下標(biāo)的方式
代碼實(shí)例:

# includeint main()
{int arr[][2]={{2,3},{1}};
   int i=0,j=0;
   for (i=0;i<2;i++)
   {  for (j=0;j<2;j++)
         printf("%d ",arr[i][j]);
   }
   return 0;
}

輸出:2 3 1 0


2.4 二維數(shù)組在內(nèi)存中的存儲(chǔ)

我們輸入上述arr[][2]數(shù)組的每一個(gè)元素的內(nèi)存地址:
在這里插入圖片描述

二維數(shù)組在內(nèi)存中也是連續(xù)存儲(chǔ)的


三、數(shù)組越界
  1. 數(shù)組的下標(biāo)是有范圍限制的。數(shù)組規(guī)定下標(biāo)從0開始,如果有n個(gè)元素,那么最后一個(gè)元素的下標(biāo)就是n-1。
  2. 所以數(shù)組的下標(biāo)如果小于0,或是大于n-1,就是越界訪問了,超出了數(shù)組合法空間的訪問。
  3. C語言本身不會(huì)做數(shù)組下標(biāo)越界的檢查,編譯器也不一定報(bào)錯(cuò),但是編譯器不保錯(cuò),并不意味程序就是正確的。

四、總結(jié)

本文介紹了C語言數(shù)組的知識(shí),數(shù)組就是一組同類型數(shù)據(jù)的集合。包括一維數(shù)組和多維數(shù)組,從數(shù)據(jù)的建立和使用。
好了,以上就是C語言數(shù)組的全部內(nèi)容了,看到這里想必友友們對(duì)數(shù)組的理解又通透了點(diǎn)兒,對(duì)您有幫助的話不妨來個(gè)三連加關(guān)注支持一下,后期會(huì)持續(xù)更新C語言干貨!

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購,新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧

網(wǎng)站名稱:零基礎(chǔ)玩轉(zhuǎn)C語言|數(shù)組-創(chuàng)新互聯(lián)
當(dāng)前網(wǎng)址:http://www.muchs.cn/article26/dhoijg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、做網(wǎng)站、全網(wǎng)營銷推廣、響應(yīng)式網(wǎng)站、軟件開發(fā)、Google

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化