TFX建模流水线:生产级机器学习的工程化实践指南
2026/7/13 2:39:46
数组是多个相同类型元素的集合,可以一次性创建多个同类型变量,统一管理批量数据,属于自定义类型。
语法格式:数据类型 数组名【常量表达式】;
intarr[10];arr[2]=5;[ ] 是双目操作符
intarr1[5]={1,2,3,4,5};intarr2[]={10,20,30,40};intarr[5]={1,2};//剩余三个自动为0intarr[10]={0};sizeof 与 strlen 区别
示例对比:
chararr[]={'a','b','c','d','e','\0'};//sizeof=6chararr1[]="abcdef";//sizeof=7,strlen=6数组总字节数 ÷ 单个元素字节数 = 元素个数
intsize=sizeof(arr)/sizeof(arr[0]);核心逻辑:
完整代码:
intarr[]={7,4,3,5,6,8,1,2};intsize=sizeof(arr)/sizeof(arr[0]);for(inti=0;<size-1;i++){intflag=0;for(intj=0;j<size-1-i;j++){if(arr[j]>arr[j+1]){inttmp=arr[j];arr[j]=arr[j+1];arr[j+1]=tmp;flag=1;}}if(flag==0)break;}前提:数组必须有序
核心变量:
完整代码:
intsortedArr[]={1,2,3,5,6,8,43,75};intsize=sizeof(sortedArr)/sizeof(sortedArr[0]);inttarget=6;intleft=0;intright=size-1;intresult=-1;while<=right){intmid=left+(right-left)/2;if(sortedArr[mid]==target){result=mid;break;}elseif(sortedArr<target)left=mid+1;elseright=mid-1;}intarr[4][5];//4行5列intarr[2][3]={{1,2,3},{4,5,6}};intarr[2][3]={1,2,3,4,5,6};intarr[2][3]={{1},{4,5}};intarr[][3]={1,2,3,4,5};intmain(){intarr[10]={1,1,2,2,3,1,2,2,4,2};intsize=sizeof(arr)/sizeof(arr[0]);inti=0;intn=0;scanf("%d",&n);while(i<size){if(arr[i]==n){intj=i+1;while(j<size){arr[j-1]=arr[j];j++;}size--;}else{i++;}}for(inti=0;i<=size-1;i++){printf("%d",arr[i]);}}#include<stdio.h>intmain(){// 两个有序升序数组intarr1[]={1,2,3,4,5};intarr2[]={1,3,4,5,6};// 存放合并结果的数组intarr3[10]={0};inti=0;// arr1下标intj=0;// arr2下标intk=0;// arr3下标// 计算两个数组元素个数intsz1=sizeof(arr1)/sizeof(arr1[0]);intsz2=sizeof(arr2)/sizeof(arr2[0]);// 双指针同步遍历,取较小值放入新数组while(i<sz1&&j<sz2){if(arr1[i]<arr2[j]){arr3[k]=arr1[i];i++;}else{arr3[k]=arr2[j];j++;}k++;}// 把arr1剩余元素全部移入结果数组while(i<sz1){arr3[k]=arr1[i];i++;k++;}// 把arr2剩余元素全部移入结果数组while(j<sz2){arr3[k]=arr2[j];j++;k++;}// 遍历打印合并后的有序数组for(i=0;i<k;i++){printf("%d ",arr3[i]);}return0;}#include<stdio.h>intmain(){inti=0;intj=0;intarr[10][10];// 生成杨辉三角for(i=0;i<10;i++){arr[i][0]=arr[i][i]=1;for(j=1;j<i;j++){arr[i][j]=arr[i-1][j-1]+arr[i-1][j];}}// 打印输出for(i=0;i<10;i++){for(j=0;j<=i;j++){printf("%-6d",arr[i][j]);}printf("\n");}return0;}