- 博客(11)
- 收藏
- 关注
原创 P120P122指针的进阶(回调函数中qsort函数的使用,自己写一个qsort函数?)#C语言的学习
当我将上述上代码中main函数的代码换成text函数时,虽然没有报错,但是程序并没有成功运行。此代码在打印的时候使用的是实数传参,我并不会使用指针传参。再此期间出现了一个小的问题。
2023-04-10 21:16:20 44
原创 P119指针的进阶(函数指针数组的应用,函数指针数组的指针)#C语言的学习
其中函数指针(*pf)[]()相当于跳板的作用,在《C与指针》中将此称作为转仪表。把add函数作为参数传给了calc函数,在calc函数里通过指针去回调add。计算器使用函数指针的写法方便增加内容并且比较的简洁。
2023-04-04 17:17:20 43
原创 P117指针的进阶(函数指针的应用,函数指针数组)#C语言的学习
此函数可以拆开成void(*)(int) signal(int,void(*)(int) 函数名函数类型的形式方便理解。//此时pfun_t等价于void(*)(int)int(*pf3[2])(int,int)={sub.add};//只能放同类型的指针。类比于返回类型void signal()
2023-04-04 11:41:53 34
原创 P115指针的进阶(函数指针)#C语言的学习
通过函数指针去调用时int ret = pf(3,5)等价于int ret =(*pf)(3,5)//*是个摆设,方便我们的理解。
2023-04-03 21:10:09 26
原创 P87结构体初阶#C语言学习
地址调用传过去的只是一个4/8字节的地址 ,并且节省了数据传输的时间。传值调用闯过去s需要用t接住,则t需要创建一个与t等同大小的空间。struct Stu a 类比于 int a,叫对象。struct Str{}S1,S2//此为全局变量。传参一般是压栈传参----函数栈帧的创建和销毁。最前面是结构体嵌套结构体。
2023-04-03 16:38:39 81
原创 P109指针初级的一些例题讲解#C语言学习
本题的关键在于sizeof算出结果的类型是unsigned int ,-1在程序中补码是32个一,无符号是一个很大的数。二.数组sizeof(arr)/sizeof(arr[0])可以算出数组中元素的个数。三.strlen()可以算出一个字符串的长度。四.assert()
2023-04-01 03:02:40 33
原创 P108指针的进阶#C语言的学习
/难点p表示每一行的首个元素。1.当数组指针指向一维数组 int (* p)[ ]= arr *(p+1)就是数组元素。2.当数组指向二维数组 int (* p)[5] = arr 指向的是二维数组的第一行。arr数组名是首元素的地址-arr[0]test(arr)是第一行的一个数组。数组指针int (*ch)[5]指针数组int *ch[5];.size of(数组名)
2023-03-29 20:53:49 54
原创 P106指针的进阶 #C语言的学习
回顾指针的概念:1.指针就是一个变量,用来存放地址,地址唯一表示一块内存空间2.指针的大小是固定的4/8个字节(32位/64位)3.指针是有类型,指针的类型决定了指针的+-整数的步长,指针解引用操作的时候权限4.指针的运算(指针+-,指针逻辑运算,指针减指针)一.字符指针char*ps = "hello bit'printf("%s",ps)//打印字符时可以将首字符串后面的字符带出来一-(1)一道例题,来自🗡指offer的49页int main(){char str1[ ] = "hello bit .
2023-03-28 23:49:09 60
原创 P83指针初级(野指针,指针的运算)#C语言学习
return *a;}//进入循环后a的内存空间已经被释放。当不知道*p指针应该初始化什么时,int *p=NULL;3.指针释放了,还给操作系统仍进行访问,变为野指针。}//当i=10时进行了越界访问,超出了数组。2.小心越界,c语言本身是不会检测越界的。一.定义:野指针是指向位置是不可知的。1.进行指针的初始化//好的编程习惯。3.指针指向的空间释放,及时置空。运行结果是两个指针之间的元素个数。4.指针使用之前检查它的有效性。*p=20//非法访问。二.避免野指针的方法。
2023-03-28 14:31:00 35
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人