c語言中的陣列

2021-09-23 17:23:07 字數 895 閱讀 4332

#include

intmain()

;//char str="akm";//也是一樣

str[4]

='p'

;//*(str+4)='p';//也是一樣

char

*s=0

; s=str;

for(

int i=

0;i<

5;i++

)}

輸出結果:

s=

0x7ffd8a263869

*s=a

s=0x7ffd8a26386a

*s=k

s=0x7ffd8a26386b

*s=m

s=0x7ffd8a26386c

*s=

s=0x7ffd8a26386d

*s=p

c語言的陣列是一段連續的記憶體位址,如果是char陣列,每個元素占用一位記憶體,所以可以用str中的str直接指向第乙個元素的位址。在定義陣列的時候,以0或者null結束,也就是說,在遍歷陣列的時候,遇到null時,認為陣列已經結束。利用字串定義陣列的時候,系統會自動增加乙個字元null,也就是說str=「akm」,實際上是有』a』, 『k』, 『m』, null,共四個元素。當按照指標值直接給第5個位賦值之後,直接用str[4]可以訪問,但是因為str[3]是null,所以遍歷陣列的時候,到str[3]就結束了。

在xcode中,用str[4]訪問,會報錯,認為超出陣列下標,也就是說,xcode會在新增元素的時候檢查是否越界。

如果指標定義的是char *p,那麼每次p++實際上是p=p+1,因為每個char占用1位。

如果指標定義的是int *p,那麼每次p++實際上是p=p+4,因為每個int占用4位。

C語言中的陣列

c語言陣列 一 陣列的概念 用來儲存一組資料的構造資料型別 特點 只能存放一種型別的資料,如全部是int型或者全部是char型,陣列裡的資料成為元素。二 陣列的定義 格式 型別 陣列名 元素個數 舉例 儲存5個人的年齡 int agrs 5 在記憶體中開闢4x5 20個位元組的儲存空間 可以在定義陣...

C語言中的陣列

include stdio.h include string.h include stdlib.h int main 定義乙個可以存放十個int型資料的陣列 int parr null parr array array a printf d n array printf d n array 1 pr...

C語言中的陣列

一維陣列 1 陣列名 宣告 int a int b 10 a b 10 為陣列,它是一些值的集合。下標和陣列名一起使用,用於標識該集合中的某個特定的值。對於b來說,只有在兩種情況下,陣列名僅代表整個陣列,a 陣列名作為sizeof操作符的運算元 b 陣列名作為 的運算元 除此之外,陣列名代表陣列首元...