学习随笔
学习随笔
在探索的过程中,发现自己的做题速度很慢,究其原因就是基础知识不够扎实,还是需要 多多注意c语言知识之间的串联,注意灵活运用,数组,指针,函数,这些还是需要不断练习和探索的
同时也不要放下对基本算法的学习,多理解基本算法的逻辑思维 11.30
数组参数传递到函数 一般的形式都有 一维数组写法: **写法1:**int a(int blance[],int size) //输入不固定长度的数组 //其中size(size可以作为数组的长度)可以不写,数组名blance是作为形参的数组名,可以被任意的实参的数组名代替。。 { for(int i=0;i<size;++i) {} } 写法2:int a(int blance[100]) //输入固定长度的数组 写法3:int a(int *blance)//用指针的形式来写
二维数组的写法:二位数组的写法与一维数组的写法不一样。。 int a(blance[][7])//必须写出最高位的数字
补充模型: 解决利用循环赋值给二维数组的解决方法 int a[1000][1000]; for(int i=0;i<?;++i) { int m=0; for(int k=0;k<?++k) { if(k==m) a[i][k]=?; if(k==?)printf("\n"); m++;
}
}
指针: NULL空指针 int a = 11; int* ptr =NULL; if (!ptr)//表示ptr为空指针时,则 printf("hui"); if(ptr)//表示ptr不是空指针时,则 printf("huang");
当然最好是将if(ptr==NULL)这么写才比较好理解,等价与if(!ptr)
而if(ptr!=NULL)等价于if(ptr),二者写法是相反的,但都表示同一个意思
函数的传值调用, 实际上只是把主函数的实际参数copy一份放进被调函数形成形式参数 因此,两组数据,实参和形参是单独的不存在运行过程中二者会相互产生影响,唯一的影响就是 copy的过程,由此可知在copy的过程,实参地位大于形参地位
传值调用,主函数发生的参数变化与被调用的函数的参数变化无关,单独并行的两个系统 互不影响,除了调用函数 因此可以理解为自定义函数只是需要求取某个特定条件和结果的工具函数,即typde han()==?/特定条件 这么理解就可以了,同return来解决所得的条件和结果输出到主函数的问题
使用自定义函数,习惯性要将自定义函数先神明一遍,这是习惯问题,防止以后程序产生不必要的错误
函数引用传递
利用指针性质进行访问实参地址,将形参与实参联系起来,相互影响作用