輸出結果:#include
intmain()
;//char str="akm";//也是一樣
str[4]
='p'
;//*(str+4)='p';//也是一樣
char
*s=0
; s=str;
for(
int i=
0;i<
5;i++
)}
c語言的陣列是一段連續的記憶體位址,如果是char陣列,每個元素占用一位記憶體,所以可以用str中的str直接指向第乙個元素的位址。在定義陣列的時候,以0或者null結束,也就是說,在遍歷陣列的時候,遇到null時,認為陣列已經結束。利用字串定義陣列的時候,系統會自動增加乙個字元null,也就是說str=「akm」,實際上是有』a』, 『k』, 『m』, null,共四個元素。當按照指標值直接給第5個位賦值之後,直接用str[4]可以訪問,但是因為str[3]是null,所以遍歷陣列的時候,到str[3]就結束了。s=
0x7ffd8a263869
*s=a
s=0x7ffd8a26386a
*s=k
s=0x7ffd8a26386b
*s=m
s=0x7ffd8a26386c
*s=
s=0x7ffd8a26386d
*s=p
在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 陣列名作為 的運算元 除此之外,陣列名代表陣列首元...