C语言学习记录_2019.02.08

  • \n:换行;   \t:制表符,相当于大空格;
  • a[5]={2};<------->a[5]={2,0,0,0,0};
  • 数组初始化的方法:a[5]={0};即全部初始化为0;
  • 数组初始化的定位初始化(C99):int a[6]={[0]=2,[2]=2,3,};<------>a[0]=2,a[2]=2,a[3]=3,其余全部初始化为0;
  • sizeof:得出变量或数组的大小;当对象是数组时,单位为字节,即整个数组所占空间的字节大小。
  • 求数组的元素的个数:i=sizeof(a)/sizeof(a[0]);好处为一点修改了数组中初始的数据,则不需要修改遍历的代码;
  • 数组变量不能直接赋值;必须采用遍历才能进行数组间的赋值;
  • 数组遍历的一般形式:for(i=0;i<length;i++){     }   且离开循环后,不应继续用i做数组的下标;
  • 数组作为函数的形式参数时,不能再利用sizeof来计算数组的元素个素;且不能在[]中给出数组的大小;此时需要另外设一个参数来传递数组的大小;(可以在实参中利用sizeof计算数组个数来传递给形式参数length)
  • sqrt( ):x的平方根函数。
  • 函数中平白无故的加入大括号的目的往往是为了调试;为了不影响大括号外面的相同名字的变量的值;
  • 搜索函数:单一出口ret原则,此时函数的结构更加清晰;
  • 一专多能不是好的代码,即一个变量承担了两个责任;
  • 定义字符串数组。例:char *name[]={“one”,”two”,”three”};
  • 结构:
struct
{
    int amount;
    char *name;
}coins[] = 
{
{1,"one"},
{2,"two"},
{3,"three"}
};
  • 如上结构的好处:关联两个数组在一起;
  • 线性搜索最大的问题是效率问题;改善,提高效率------>二分搜索(前提:数据是有序的);
  • 排序之一:选择排序,即找到最大的元素然后放到最后,循环。
posted @ 2019-02-09 00:33  Bran_don  阅读(183)  评论(0编辑  收藏  举报