- 博客(11)
- 收藏
- 关注
原创 一些简单,入门的算法和解题技巧
有a+b→c 把a,b理解为固定的一个数是愚蠢的(因此很多情况会影响在运行中a,b,c的值的改变我们千万不能把它们当成固定的值了,这是新手很容易犯的错),要吧a当成第一个加数,把b当成第二个加数 并不断的给他们附上新值。b是小的数(b要做被除数应该小一些)在写这个题目时我有有一个逆天的思路:遍历4位的数字然后去判断aabb的数字,然后打。而左斜对角线是i+j= n-1 (固定的一个数)(n为你需要输入的规模)对于这样一个特殊的数组,我想到的是一个二维的二分查找,但是时间复杂度O(NlogN)
2024-09-03 15:25:14
400
原创 C语言重头戏之指针
分析: int 是函数的返回类型 , 由于后边是函数的特征所以( *pf3 )是指向函数的指针 pf3为变量名 , ( int x , int y )是函数参数类型。用来函数形参的创建( 二维数组的元素是一维数组,函数形参创建不是正好要一个首元素地址吗 )下图的int (*p)[5] = int arr[][]我们可以给指针赋值NULL NULL是C语言中定义的一个标识符常量,值是0,0也是地址,这个地址是无法使用的,读写该地址会报错。
2024-08-23 12:41:29
460
原创 关键字,其他知识
用“ 1en "可表示10的n次方( 1 en = 1 * 10^n( 这里的^不是异或) )注意:全局变量不建议大量的去使用,全局变量所有人都看得到,乱改后果很严重,因此全局变量一般是常量。指针变量解引用指向的地址是不可以改变的,而指针变量p本身的地址可以改变。指针变量p本身的地址不能改变,而指针变量解引用指向的地址是可以改变的。不要忘记各个东西(特别是占位符 ,类型的限制)的限定(要细节一点.)ASCII是 数字到字符的映射, 但是ASCII的值是英文。1.先把要添加的文件复制到当前项目。
2024-07-19 22:28:01
838
原创 数组的应用
问题:ex 在第一次循环i=0时,里头arr【0】先就已经进行精准定位了 ,后续的scanf输入就是给这个arr【0】{即数组中的第一个}赋值。ex set_arr1(arr1 , n)【为了不产生调用歧义这个n表示调用的数组元素个 数】(arr1是数组的首地址)注意了:用指针模拟的二维数组并不连续,真正的二维数组是连续的因 此这个方法只是一个模拟数组的作用。对应法则是: 第一个数对应下标0以此类推( 若该数组有n个元素 最后 一个数对应的下标是n-1)
2024-06-30 17:29:41
707
原创 常见的占位符和类型
2.%#o,%#x(用X输出大写字母), 这里井号的作用就可 以让八进制前缀加上0,十六进制前缀加上x。这两个(*)的值,通过printf的两个参数(6,2)结构体:是除char,short,int,long,等描述定义复杂对象的自定义类型。写结构体的原则,就是零散的空间集中在一起(对齐的同时减少空间浪费)%p是以16进制输出地址,而%d其实也可以输出地址但。枚举常量: { }中的内容是有值的,这个值系统已经初始化(自己也可以以自己。1.字符串的地址不是一起的而是和数组的地址一样()每个都是连续的。
2024-06-24 18:08:20
756
原创 C语言中常用的函数
srand常用的是:srand((unsigned int)time(null) )){这是要强制转化类型}注意:在字符串中时strlen不记录\0,但signof计算\0,应为\0本来就占一个字符是字符。注意:strlen一遇到遇到\0会歇菜的(ex:strlen(I love you)=1 有空格在搞怪 )为char *类型) ,图二为传址调用(二级指针)。变式:strncat(Strings n Catenate(横向链接) )函数, n的作用同上。
2024-06-17 19:26:57
612
2
原创 常见语句的使用
注意:在使用循环语句的时候,重制数据是一个非常关键的细节(若数据需要重制)注意:if里头的判断是很严格的,ex double类型的10.0就是不等于int类型的10。switch的case选项很特别,有些生活中的实际问题我们可以用一些数字来。技巧:for循环的判断条件,可以不着急去写(判断准确后再写也不迟)。注意:不要只知道用for了在一些你不需要写三班斧的时候就可以用用其他的循环。对于复杂的判断 可以嵌套(嵌套在if 或else中都可以)1.(初始化,判断,调整变量)这样写是错的里头用分号。
2024-05-23 17:29:09
703
1
原创 关于内存(初步了解)
如右边,内存这样放表示了是小端。补充知识点:4个二进制位可以表示表示任意一个16进制的数,所以“00”这两个16进制数。例:第一次malloc申请的地址小于以后malloc申请的地址。例:调用函数函数的地址越来越低。4.栈空间内存不大(8mb,到10mb)cpu对于提取各种空间的速度(依次递减)栈区的内存地址从高地址到低地址使用。关于栈区的内存分析(有图)2.谁创建的早谁用高地址。3.整个空间是线性的。
2024-05-12 14:57:44
200
1
原创 占位符和类型的一些技巧(C语言)
2.%#o,%#x(用X输出大写字母), 这里井号的作用就可 以让八进制前缀加上0,十六进制前缀加上x。这两个(*)的值,通过printf的两个参数(6,2)结构体:是除char,short,int,long,等描述定义复杂对象的自定义类型。写结构体的原则,就是零散的空间集中在一起(对齐的同时减少空间浪费)%p是以16进制输出地址,而%d其实也可以输出地址但。枚举常量: { }中的内容是有值的,这个值系统已经初始化(自己也可以以自己。1.字符串的地址不是一起的而是和数组的地址一样()每个都是连续的。
2024-04-29 22:00:01
628
4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人