c语言学习笔记
文章平均质量分 50
「已注销」
这个作者很懒,什么都没留下…
展开
-
线性表核心思想整理
尾插,头插都是特定位置的插入,所以理解了定插,头尾插就是0和size-1或length的问题了。最后,以上的位置指的都是数组指针。说明:定删的要点是找到待删位置+1,也就是要删除位置的后一位。因为数组的特性是有限的,所以线性表存在扩容的需求。说明:以尾下标做标记,是因为插入必然导致扩容,而表的特性要求元素有序的后移。第三步,开辟堆空间(无论是C还是Java,本质都是在堆上开辟空间)则,后一位元素覆盖前一位元素([待删位置]=[待删位置+1])和定插一样,明白了定删,头删尾删就是小菜一碟了。原创 2023-06-27 12:37:54 · 78 阅读 · 1 评论 -
数组理解上的难点
1,一维数组名=首元素地址2,sizeof ()是一元运算符sizeof(数组名)=该数组(元素)的字节总数(单位数组类型的字节数),而非由数组标识符表示的指针(内存地址)的大小。例如: int a[9]={0};printf ("%d",sizeof(a));结果为 36。这是因为int整形为4个字节,数组a有9个元素,故此4×9=36。这里需要注意:sizeof只有找到字符串结束标志'\0',才会终止(这是sizeof所以能够计算字节总数的条件)。假设给数组a[9]赋值,则原创 2023-03-04 12:23:39 · 145 阅读 · 2 评论 -
C语言笔记——对函数的一点认识
比如test函数的返回值是char,i的类型时int,它们所以能够“相等”完全是因为采用指针(内存操作)——由此也可以一窥c语言的灵活:不管声明的是什么类型,你都要储存在内存里,只要是存在内存里,那么指针都会“一视同仁”(如若对y或z赋值不是100以内的整数。1,函数的声明与定义可以分开。在库函数scanf中,之所以要用&取地址,就因为程序要直接读取的,是储存内存中的输入值。一个简单的函数功能:把test函数的参数x赋给y,y返回给接受变量i。本例实参是y,z,所以形参按照12,5的顺序代入test函数。原创 2023-02-12 18:10:50 · 78 阅读 · 1 评论