C語言的數組

定義數組數組

int arr[3] ;//定義數組
arr[0] = 1;//進行賦值
arr[1] = 2;
arr[2] = 3;

當定義數組以後,arr就爲一個常量,表明數組的地址,就是&arr[0]的地址spa

int arr[3] = {1,2,3};//定義數組
    int b = arr;
    int c = &arr[0];
    printf("b === %d\n",b);
    printf("c === %d\n",c);

打印結果:code

b === -272632276
c === -272632276

能夠看出結果是同樣的。blog

 

C語言對數組越界是不作處理的,例如class

    int arr[3] = {1,2,3};//定義數組
    int a = &arr[0];
    int b = &arr[1];
    int c = &arr[2];
    int d = &arr[3];
    
    printf("a == %d\n",a);
    printf("b == %d\n",b);
    printf("c == %d\n",c);
    printf("d == %d\n",d);

打印結果:語言

a == -272632276
b == -272632272
c == -272632268
d == -272632264

從結果能夠看出c並無進行處理,arr[3]已經超出了數組的長度,但仍是打印出了arr[3]的地址di

相關文章
相關標籤/搜索