-- 因为是跨专业,所以没有办法每天更新呜呜呜,但是目前在细细琢磨ing
上次是写到函数停止了,先补充一点点关于数组
关于数组
eg:
int arr[10]; -- 定义一个存放10个整数数字的数组 arr意思是,向内存申请一个空间叫arr,并且有相应的下标,而且规定每个数组的下标从0开始
eg:arr[3]={1,2,3};
对应下标 0 1 2
其中arr[] 的[]中的数字代表的是下标 -- arr[下标]
int arr[10]={1,2,3,4,5,6,7,8,9,10};//一个数组
然后如何访问元素
printf("%d\n",arr[i]);即可//但是数组是下标的访问方式
有下标就是方便访问元素
接day2函数
c很多代码的优化就是为了减少所占内存和空间使浏览速度会更快
函数也就是为了简化代码
举个例子
平常如果向算一个值的加法
都是
#include<stdio.h>
int main()
{int num1 = 0;
int num2 = 0;
int sum = 0;
printf("输入两个操作符:>");
scanf("%d,%d",&num1,&num2);
sum = num1 + num2;
printf("sum = %d\n",sum);
return 0;
}
毕竟c中的字符基本都是变量,变量的话也是可以对应函数去敲的,基本考一个思维逻辑
所以有函数的话
就大概先把所需要的函数用c表达出来,然后下边的就是惯例
#include<stdio.h>
int main()
{int add(int x, int y)//创建一个整型add()-()里边是用来放类型的
int z = x + y;//在创建一个整型z 用来储存x+y的一个值,返回这个值
return z;
}
{int num1 = 0;
int num2 = 0;
int sum = 0;
printf("输入两个操作符:>");
scanf("%d,%d",&num1,&num2);
sum = add(num1, num2);
printf("sum = %d\n",sum);
return 0;
}
还有一个找较大值的一个例子,也是用函数来表达
比如想找num1和num2之中的较大值---Max(num1, num2);
就是把num1与num2这两个值传给Max函数,然后Max把num1和num2的较大值求出来之后,通过返回值的方式输出
即这句话的代码:max = Max(num1, num2);
printf("max=%d\n",max);
完整的一个代码
#include<stdio.h>
int Max(int x, int y)
{if(x>y)//这里没有考虑x=y因为,理论上是返回y,因为除了x>y的情况下,其他情况都是y
return x;
else
return y;
}
int main()
{
int num1 = 10;
int num2 = 20;
int max = 0;
max = Max(num1, num2);
printf("max = %d\n",max);
return 0;
}
seize of
这个还是比较重要的
#include<stdio.h>
int main()
{
int a = 10;
int arr[6]={1,2,3,4,5,6};
//其中arr[]是一个单独的类型,但这个数组的类型是int[6]
//这里的int指的arr[]是每个元素的类型是int
//每一个元素都是一个整型,整型是4个字节
printf("%d\n",seize of(a));//4bit == printf("%d\n",seize of a);--4+
printf("%d\n",seize of(int));//4
return 0;
}
//当seize of求得是一个变量大小时括号可以省略
不过,这里得seize of int时不可以省略得,属于是写法得问题,不能这样写
还可以计算数组大小,单位都是字节
eg:printf("%d\n",seizeof(arr[]));
或者计算元素个数
eg:printf("%d\n",seizeof(arr)/seizeof(arr[0]))//6个元素
总元素 / 第一个元素得大小(因为每个元素大小都是这个)=元素个数
操作符
明个儿敲