日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

C语言的数组基础,C语言基础-数组

發布時間:2024/7/23 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言的数组基础,C语言基础-数组 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、數組(一維數組)

什么是數組?

數組是一組有序的、類型相同的數據的集合

數組的作用?

處理一些類型相同的數據集合

數組的構成:

元素、下標或索引、數組名

定義:

使用前必須定義

1、存儲類型

2、數據類型

3、數組名

4、數組大小

語法:

數據類型 數組名[數組長度] ;

例子:int stuIds[22];

備注:

1、數組名后接一個或多個括在方括號內的表達式,用以指定數組的維數

2、數組長度只能是常量和常量表達式(大于0)

定義數組的特性

所有數組元素具有相同的類型

允許使用變量的地方都可以使用數組元素

取值:也可以使用整型表達式引用數組的元素

數組名[整型表達式]

數組里面的每個元素所占字節數和數組類型一致

初始化:

什么是數組初始化:

數組初始化是在數組定義時給元素賦初值

extern和static數組元素自動初始化為 0 -> extern int a[10];或 static int a[10]; ->代表所有元素值都為0

語法:數據類型 數組名[常量表達式]={值,值…};

例如:int ary[10]={0,1,2,3,4,5,6,7,8,9};

規定:

元素之間用逗號隔開

可以只給部分元素賦值,剩余元素賦0值

給全部元素賦值時,可以不說明元素的個數。例如:int ary[]={0,1,2,3,4,5,6,7,8,9};

二、二維數組

定義(聲明):

數據類型 數組名[常量表達式1][常量表達式2];

例如:int temp[4][3];

初始化:

inta[3][4]=

{

{1, 2, 3, 4},

{5, 6, 7, 8},

{9, 10, 11,12}

};

inta[3][4]={

1, 2, 3, 4,

5, 6, 7, 8,

9, 10, 11, 12};

inta[3][4]={

1, 2, 3, 4,

5, 6, 7, 8,

9,10 , 0, 0};

語法:

數組名[行下標][列下標]

三、字符數組

字符串常量

printf("Hello World!!!");

其中Hello World!!!就是字符串數組

區別->字符常量

例如:'a'

備注:

1、符號不同,字符常量用單引號,字符串常量用雙引號

2、長度不同,字符常量有且只有一個字節,字符串常量可多個字節

3、字符串常量一'\0'結尾,例如:"Hello World!!!"之后隱藏了一個'\0'

(ps:'\0'稱作結束標志)

字符數組 == 字符串變量

注意:

不能對數組做整體化賦值,只能在初始化的時候進行。

==的意義是:判斷兩個數組的地址值是否相等

strcmp的意義是:判斷兩個字符數組的值是否相等

例外:字符串可以通過系統函數進行整體操作

四、字符串的整體I/O操作

字符串的輸入、輸出、合并、修改、比較、轉換、復制、搜索幾類。

頭文件 string.h

gets(ps:scanf)

功能:通過標準輸入所獲得的字符串

函數說明:char *gets(char *buffer);

其中,返回值:成功時返回輸出緩沖區首地址,否則返回NULL

puts(ps:printf)

功能:用于在標準輸出設備上顯示字符串

函數說明:int puts(const char *string);

sprintf

功能:將其他數據類型轉換成字符串類型并輸出到指定字符串中.

函數說明:int sprintf( char *buffer, const char*format [, argument] ... );

注意:

以上幾種字符串處理函數,應當再次強調:庫函數并非C語言本身的組成部分,而是C編譯系統為方便用戶使用而提供的公共函數。不同的編譯系統提供的函數數量和函數名、函數功能都不盡相同,使用時要小心,必要時查一下庫函數手冊。

字符串拷貝函數strcpy格式:

strcpy (字符數組名1,字符數組名2) 功能:把字符數組2中的字符串拷貝到字符數組1中。串結束標志“”也一同拷貝。字符數名2,

也可以是一個字符串常量。這時相當于把一個字符串賦予一個字符數組。

字符串比較函數strcmp格式:

strcmp(字符數組名1,字符數組名2) 功能:按照ASCII碼順序比較兩個數組中的字符串,并由函數返回值返回比較結果。

字符串1=字符串2,返回值 =0;

字符串1〉字符串2,返回值 〉0;

字符串1〈字符串2,返回值〈0。

假設計算機指定數組score中的元素從地址為1000的地方開始存放。那么,存放一個元素,計算機需要給該數組多少空間呢?

由于每個元素的數據類型為int,而一般來說,int占用4個字節,所以計算機需要為每一個元素分配4個字節的存儲空間。如下圖所示:元素score[0]占用了編號為1000, 1001, 1002, 1003共4個字節的內存空間。score[1]占用1004 - 1007號內存空間。其余元素依此類推。

當聲明數組 int score[10]; 時,計算機就為數組預留10×4=40字節的存儲空間,正式的說法是分配40字節的存儲空間,此時空間里面沒有存放東西。對于數組中的各元素,它們的存儲空間是連續的,沒有間斷。因此,如果知道了某個元素的存放地址,就能準確獲取其它元素的存放地址。

下圖是對數組聲明的一些解說:

總結

以上是生活随笔為你收集整理的C语言的数组基础,C语言基础-数组的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。