一.数组
数组:即一串连续的地址(内存)空间。数组有三种基本类型:整形、实型、字符型。数组的总字节 = 元素个数 * 1个该类型的字节.
数组:存储多个同类型变量的结构体。
注意:数组通过下标访问,定义必须有大小(长度)。for循环涉及数组变量最好从0开始。
- 一维数组定义 :数组类型 数组名[长度] = {,,,};
- 二位数组定义(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);