//

//  main.c

//  C-变量的地址

//

//  Created by cgq on 15/4/9.

//  Copyright (c) 2015年 cgq. All rights reserved.

//

 

#include <stdio.h>

 

//访问变量的地址

void test1()

{

    char a = 'A';

    int b = 44;

    printf("a的值:%d\n",a);

    printf("b的值:%d\n",b);

    printf("a的地址:%d\n",&a);

    printf("b的地址:%d\n",&b);

}

//一维数组

void test2()

{

    int  age[5];

    printf("数组的字节数:%d\n",sizeof(age));

    //查看数组的地址

    //1

    printf("%d\n",&age[0]);

    printf("%d\n",age);

    //数组名代表的就是数组的地址,也就是第0个元素的地址

    //age是一个常量

    

    //只能在定义时初始化

    int a[3] ={1,3,4};

    int b[3] = {1,}; //输出1,0,0

    

    int c[3];

    //c = {1,2,3};   错误的写法❌   c是一个常量

    //可以一个一个的赋值

    c[1] = 1;

    c[2] = 2;

    for (int i=0; i<3; i++) {

        printf("第%d个值为:%d\n",i,c[i]);

    }

}

 

//二维数组

void test3()

{

    int a[2][3];  //表示2行3列

    //二维数组的存放顺序是先存放第一行的元素,在存放第二行的元素

    

    //数组的地址  a = a[0][0] = a[0]  3者都可以表示数组的地址  a[0]也是数组,也代表着歌数组的地址

    int b[2][3] = {{1,2,3},{4,5,6}};

    int c[2][3] = {1,2,3,4};//按行放,不够的存0

    

    //可以省略行数,不能省略列数

    int d[][3] = {1,2,3,4,5};

}

int main(int argc, const char * argv[]) {

    // insert code here...

    

    printf("Hello, World!\n");

    test2();

    return 0;

}