C语言中数组连续存存储

61 阅读1分钟
#include <stdio.h>

int main(int argc, char const *argv[])
{
    
    int arr[32];
    int i;
    for(i = 0; i<32; i++){
        arr[i] = i;
    }

    for (i = 0; i < 32; i++)
    {
        /* code */
        printf("arr[%d] %u %d ",i, &arr[i], arr[i]);

        if(((i+1)%4 == 0) && (i != 0))
        {
            printf("\n");
        }
    }
    
    return 0;
}

/*
arr[0] 6421904 0 arr[1] 6421908 1 arr[2] 6421912 2 arr[3] 6421916 3
arr[4] 6421920 4 arr[5] 6421924 5 arr[6] 6421928 6 arr[7] 6421932 7
arr[8] 6421936 8 arr[9] 6421940 9 arr[10] 6421944 10 arr[11] 6421948 11     
arr[12] 6421952 12 arr[13] 6421956 13 arr[14] 6421960 14 arr[15] 6421964 15 
arr[16] 6421968 16 arr[17] 6421972 17 arr[18] 6421976 18 arr[19] 6421980 19 
arr[20] 6421984 20 arr[21] 6421988 21 arr[22] 6421992 22 arr[23] 6421996 23 
arr[24] 6422000 24 arr[25] 6422004 25 arr[26] 6422008 26 arr[27] 6422012 27 
arr[28] 6422016 28 arr[29] 6422020 29 arr[30] 6422024 30 arr[31] 6422028 31 

*/