国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

了解網(wǎng)站開發(fā) 后臺流程廣告公司經(jīng)營范圍

了解網(wǎng)站開發(fā) 后臺流程,廣告公司經(jīng)營范圍,東莞做網(wǎng)站多少錢,wordpress應(yīng)用市場模板下載失敗一維數(shù)組的創(chuàng)建和初始化 數(shù)組是一組相同類型元素的集合。 數(shù)組的創(chuàng)建 //數(shù)組的創(chuàng)建方式:type_t arr_name [const_n];//type_t 是指數(shù)組的元素類型//const_n 是一個常量表達式,用來指定數(shù)組的大小數(shù)組創(chuàng)建的實例: 數(shù)組創(chuàng)建&#xff…

一維數(shù)組的創(chuàng)建和初始化

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

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

//數(shù)組的創(chuàng)建方式:type_t    arr_name    [const_n];//type_t 是指數(shù)組的元素類型//const_n 是一個常量表達式,用來指定數(shù)組的大小

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

  1. 數(shù)組創(chuàng)建,在C99標(biāo)準(zhǔn)之前, [] 中要給一個常量才可以,不能使用變量。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>int main()
{int arr1[5];char arr2[8];float arr3[15];double arr4[10];return 0;
}
  1. C99標(biāo)準(zhǔn)引入了變長數(shù)組的概念,數(shù)組的大小可以使用變量指定,但是在VS中數(shù)組不能初始化。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>int main()
{n = 10;int arr[n];return 0;
}

數(shù)組的初始化

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

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>int main()
{int arr1[10] = { 1,2,3,4,5,6,7,8,9,10 };//完全初始化int arr2[10] = { 1,2,3,4,5 };//不完全初始化,剩余部分默認(rèn)初始化為零char arr3[10] = { 'a','b', 99 };//字符類型數(shù)組默認(rèn)將數(shù)字對應(yīng)為字符的ASCLL碼值;char arr4[10] = "abcdef";//不完全初始化,剩余部分默認(rèn)初始化為‘\0’//如果數(shù)組初始化了,可以不指定數(shù)組的大小;數(shù)組大小會根據(jù)初始化的內(nèi)容來決定char arr5[] = { 'a','b', 99 };char arr6[] = "abc";return 0;
}

一維數(shù)組的使用

對于數(shù)組的使用介紹一個操作符: [ ] (下標(biāo)引用操作符)。它其實就是數(shù)組訪問的操作符。

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>int main()
{int arr[10] = { 0 };//數(shù)組的不完全初始化//計算數(shù)組的元素個數(shù)int sz = sizeof(arr) / sizeof(arr[0]);//對數(shù)組內(nèi)容賦值,數(shù)組是使用下標(biāo)來訪問的,下標(biāo)從0開始。所以:int i = 0;//做下標(biāo)for (i = 0; i < 10; i++){arr[i] = i;}//輸出數(shù)組的內(nèi)容for (i = 0; i < 10; ++i){printf("%d ", arr[i]);}return 0;
}

總結(jié):

  1. 數(shù)組是使用下標(biāo)來訪問的,下標(biāo)是從0開始。

  2. 數(shù)組也是有類型的,去掉數(shù)組名就是數(shù)組的類型。
    在這里插入圖片描述

  3. 數(shù)組的大小可以通過計算得到。

int arr[10];
int sz = sizeof(arr)/sizeof(arr[0]);

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

在這里插入圖片描述
仔細(xì)觀察輸出的結(jié)果,我們知道,隨著數(shù)組下標(biāo)的增長,元素的地址,也在有規(guī)律的遞增。由此可以得出結(jié)論:

  1. 數(shù)組在內(nèi)存中是連續(xù)存放的。

  2. 隨著下標(biāo)的增長,地址是由低到高變化的。

因此我們只要拿到首元素地址,就相當(dāng)于知道了所有元素的地址。
在這里插入圖片描述

二維數(shù)組的創(chuàng)建和初始化

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

//數(shù)組創(chuàng)建
int arr[3][4];              //3行4列
char arr[3][5];             //3行5列

我們想象中的多維數(shù)組是這樣的:
在這里插入圖片描述

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

//數(shù)組初始化
int arr[3][4] = {1,2,3,4};     //不完全初始化
int arr[2][4] = {{1,2},{4,5}}; //不完全初始化
int arr[][4] = {{2,3},{4,5}};  //不完全初始化
//二維數(shù)組如果有初始化,行可以省略,列不能省略

二維數(shù)組的使用

二維數(shù)組的使用也是通過下標(biāo)的方式,行和列的下標(biāo)都是從零開始的。
在這里插入圖片描述

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

在這里插入圖片描述
我們驚奇的發(fā)現(xiàn)二維數(shù)組在換行時地址還是增加4個字節(jié),這說明了二維數(shù)組在內(nèi)存中還是連續(xù)存放的。

如果把二維數(shù)組的每一行看作一個一維數(shù)組,那么每一行的一維數(shù)組也有數(shù)組名

arr[0]就是第一行的數(shù)組名,arr[1]就是第二行的數(shù)組名,arr[3]就是第三行的數(shù)組名,以此類推。

數(shù)組越界

數(shù)組的下標(biāo)是有范圍限制的。

數(shù)組的下標(biāo)規(guī)定是從0開始的,如果數(shù)組有n個元素,最后一個元素的下標(biāo)就是n-1。

所以數(shù)組的下標(biāo)如果小于0,或者大于n-1,就是數(shù)組越界訪問了,超出了數(shù)組合法空間的訪問。C語言本身是不做數(shù)組下標(biāo)的越界檢查,編譯器也不一定報錯,但是編譯器不報錯,并不意味著程序就是正確的,所以我們在寫代碼時,最好自己做越界的。

在這里插入圖片描述

同樣的,二維數(shù)組的行和列也可能存在越界。

數(shù)組作為函數(shù)參數(shù)

往往我們在寫代碼的時候,會將數(shù)組作為參數(shù)傳個函數(shù),比如:我要實現(xiàn)一個冒泡排序(這里要講解的是算法思想)函數(shù)將一個整形數(shù)組排序。

冒泡排序函數(shù)的錯誤設(shè)計

#include <stdio.h>
void bubble_sort(int arr[])
{int i = 0;int sz = sizeof(arr) / sizeof(arr[0]);//冒泡排序的趟數(shù)for (i = 0; i < sz - 1; i++){int j = 0;//一趟冒泡排序for (j = 0; j < sz - i - 1; j++){if (arr[j] > arr[j + 1]){int tmp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = tmp;}}}
}
int main()
{int arr[] = { 3,1,7,5,8,9,0,2,4,6 };//排升序//冒泡排序bubble_sort(arr);int i = 0;for (i = 0; i < 10; i++){printf("%d ", arr[i]);}return 0;
}

在這里插入圖片描述
調(diào)試之后可以看到 bubble_sort 函數(shù)內(nèi)部的 sz 是1。難道數(shù)組作為函數(shù)參數(shù)的時候,不是把整個數(shù)組的傳遞過去?

數(shù)組名是什么?

數(shù)組名是數(shù)組首元素的地址。

在這里插入圖片描述
有兩個例外:

  1. sizeof(數(shù)組名),計算整個數(shù)組的大小,sizeof內(nèi)部單獨放一個數(shù)組名,數(shù)組名表示整個數(shù)
    組。
  2. &數(shù)組名,取出的是數(shù)組的地址。&數(shù)組名,數(shù)組名表示整個數(shù)組。

除此1,2兩種情況之外,所有的數(shù)組名都表示數(shù)組首元素的地址。

冒泡排序函數(shù)的正確設(shè)計

當(dāng)數(shù)組傳參的時候,實際上只是把數(shù)組的首元素的地址傳遞過去了。

所以即使在函數(shù)參數(shù)部分寫成數(shù)組的形式: int arr[] 表示的依然是一個指針: int *arr 。

那么,函數(shù)內(nèi)部的 sizeof(arr) 結(jié)果是 4/8。

#include <stdio.h>
void bubble_sort(int arr[],int sz)//int arr[]本質(zhì)上是指針int* arr來接收地址
{int i = 0;//冒泡排序的趟數(shù)for (i = 0; i < sz - 1; i++){int j = 0;//一趟冒泡排序for (j = 0; j < sz - i - 1; j++){if (arr[j] > arr[j + 1]){int tmp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = tmp;}}}
}
int main()
{int arr[] = { 3,1,7,5,8,9,0,2,4,6 };int sz = sizeof(arr) / sizeof(arr[0]);//排升序//冒泡排序bubble_sort(arr, sz);//arr是數(shù)組首元素地址int i = 0;for (i = 0; i < 10; i++){printf("%d ", arr[i]);}return 0;
}

數(shù)組的應(yīng)用實例:三子棋

數(shù)組的應(yīng)用實例:掃雷游戲

http://aloenet.com.cn/news/29306.html

相關(guān)文章:

  • 東莞做網(wǎng)站企業(yè)銘餐飲營銷案例100例
  • 公司網(wǎng)站建設(shè)會議紀(jì)要網(wǎng)站seo優(yōu)化教程
  • 小學(xué)學(xué)校網(wǎng)站模板免費下載蘇州網(wǎng)站建設(shè)開發(fā)公司
  • 不會編程 做網(wǎng)站chinaz站長素材
  • 免費企業(yè)網(wǎng)站模板下載剛剛中國突然宣布
  • 醫(yī)療整形網(wǎng)站怎么做廣州seo排名優(yōu)化服務(wù)
  • c2c網(wǎng)站頁面設(shè)計特點企業(yè)網(wǎng)站seo點擊軟件
  • 做網(wǎng)站設(shè)計怎么進企業(yè)漯河網(wǎng)站推廣公司
  • 網(wǎng)站查詢域名解析ip深圳網(wǎng)絡(luò)推廣培訓(xùn)學(xué)校
  • 華升建設(shè)集團公司網(wǎng)站免費建一個自己的網(wǎng)站
  • 最好的網(wǎng)站建設(shè)價格上海b2b網(wǎng)絡(luò)推廣外包
  • 淘寶網(wǎng)站頁面設(shè)計找廣告商的平臺
  • plone cms Wordpress拼多多seo怎么優(yōu)化
  • 做網(wǎng)站買了域名之后關(guān)鍵詞在線優(yōu)化
  • 安卓一鍵制作app軟件長春網(wǎng)站優(yōu)化
  • 自己做的網(wǎng)站在瀏覽器上顯示不安全簡述seo和sem的區(qū)別與聯(lián)系
  • 東莞哪里有做企業(yè)網(wǎng)站的安卓優(yōu)化大師app下載
  • 劉濤給孩子網(wǎng)站做的廣告惠州seo網(wǎng)站排名
  • 淄博網(wǎng)站推廣公司大連seo建站
  • 2021年軍事新聞?wù)緝?yōu)化多少錢
  • 做網(wǎng)站維護費是怎么算的免費刷網(wǎng)站百度關(guān)鍵詞
  • 長春長春網(wǎng)站建設(shè)2023年7 8月十大新聞
  • 煙臺電子商務(wù)網(wǎng)站自媒體135網(wǎng)站免費下載安裝
  • 做漆包線的招聘網(wǎng)站在線培訓(xùn)管理系統(tǒng)
  • 自學(xué)wordpress廈門seo公司
  • 用php做網(wǎng)站要用構(gòu)架嗎網(wǎng)絡(luò)營銷推廣活動有哪些
  • 網(wǎng)站流量導(dǎo)入是什么意思無錫百度競價
  • 如何做網(wǎng)站推廣優(yōu)化企業(yè)網(wǎng)站有什么
  • 女生學(xué)網(wǎng)站建設(shè)好學(xué)嗎創(chuàng)建自己的網(wǎng)站怎么弄
  • 做網(wǎng)站開發(fā)要學(xué)什么網(wǎng)絡(luò)營銷包括哪些