数组、结构体、字符串

一.数组

数组:即一串连续地址(内存)空间。数组有三种基本类型:整形、实型、字符型。数组的总字节 = 元素个数 * 1个该类型的字节.

数组:存储多个同类型变量的结构体。

注意:数组通过下标访问,定义必须有大小(长度)。for循环涉及数组变量最好从0开始。

  1. 一维数组定义            :数组类型   数组名[长度] = {,,,};
  2. 二位数组定义(3行2列):数组类型   数组名[行长度][列(必知)] = {{列1,列2},

                              {},

                              {}

                             };

      3.二位数组是以一维数组方式存储。

      4.数组长度:sizeof(数组名) / sizeof(数组名[0])     →数组的总字节 = 元素个数 * 1个该类型的字节

二.结构体

通过结构体可以定义复杂的数据类型。

1.定义:

(struct   名字)               →(相当新类型)  

{各种类型   变量名;

  各种类型   变量名;

};

2.声明:struct  名字 变量名 ={,};

3.访问元素:新类型变量名.各种类型变量名

三.字符串是由字符数组组成,以''结束,以%s格式输出字符串。char name[9]="zhangSan";printf("%s ",name);

四.

//通过结构体自定义数据类型person

 

struct person

{  int age;

    float hight;

    float weight;  

};

  

struct student

{    int age;

    char name[50];

    char address[30];

};


void printArray (int arr[],int len);

void printArray (int arr[],int len)  //arr传进出的几个数,len数组的长度

{

    for (int i = 0; i < len; i++)

    {

        printf("[%d] = %d
",i,arr[i]);

    }

}

 

int sumArray(int arr[],int len);

int sumArray(int arr[],int len){

    int sum = 0;

    for (int i = 0; i < len; i++)

    {

        sum += arr[i];

    }

    return sum;

}

 

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

{

    int array[5] = {2,4,5};

 

    printArray(array,sizeof(array) / sizeof(array[0]));//长度=数组总字节数/随便一个数的字节大小

              

    int sum = sumArray(array, 5); 

    printf("sum = %d
",sum);

                                   //float b[] = {2.2,3,4,4.5};

    int ary[][4] = {

        {1,2,3},

        {4,5,6},

        {7,8,9}

    };

    for (int i = 0; i < 3; i++)//控制行

    {

        for (int j = 0; j < 4; j++)//控制列

        {

            printf("	 %d",ary[i][j]);

        }

        printf("
");

    }

 


    //声明结构体变量

    struct person p1 = {24,170,70}; 

//    struct person p2 = {22,1.65,50}; 

    //通过“.”访问每个结构体变量中的元素

    printf("p1 age:%d
",p1.age);

 

   

    struct student s1 = {20,"jobs","bj"};

    printf("name = %s
",s1.name);   

 


    //字符数组赋值 

    //char name[10] = {'s','t','e','v','e','n'};

    //char phone[7] = {'i','p','h','o','n','e',''};

    char phone[] = "iphone";

    //

       printf("phone = %s
",phone);
原文地址:https://www.cnblogs.com/huen/p/3484696.html