- 博客(8)
- 资源 (2)
- 收藏
- 关注
原创 关于函数指针
建立5个函数,返回值为int,输入参数为两个int,函数名字分别为:add\sub\mul\chu\yu。同时定义指针类型pstr,可以指向同类型函数,再建立函数指针数组,分别存放五个函数的入口地址,然后调用for循环,分别回调这五个函数。arr是函数指针数组的首地址,也是第一个元素占用的首地址,这个地址开始的8个字节存的函数add的地址,因为pstr类型的变量直接指向一个函数指针,存放函数指针的地址当然是要在这个基础上再加一重指针,所以p的变量类型为 pstr *。//将函数add地址送给指针p。
2023-06-29 17:46:42
103
原创 C语言中指针、字符串、数组关系得理解
2和5是字符指针数组的地址,这个地址里存的是arr_1的地址。首先先建立5个字符数组,内容是五个字符串(因为后面的指针数组要用这五个字符数组的地址,如果先建立指针数组,那么需要送空指针)。C语言的指针,玩的就是个内存空间,当变量存地址,地址空间存的不是地址时,就是一级指针。其实最重要的是最后一点,分别打印第一个字符数组的首地址,指针数组首地址,指针数组第一个元素,二级指针一次解引用,二级指针内容。然后,通过对二级指针解引用,在递加,得到指针数组的每个元素(字符数组首地址),然后打印。
2023-06-28 17:39:55
129
1
原创 C语言中的char-2
指针数组里面存的是数组或者字符串的首地址,按照普通指针操作即可。将数组的首地址送给字符指针,成功了。将缓存区内的控制字送给字符指针,通过指针操作空间进行拆解。嗯嗯,这是一个坑,数组在定义后空间就被固定了,数组名代表的指针不具备游离性,也就是常量不可以被赋值。字符指针应用到的最主要的两个场景,一个是操作字符串,一个是操作字符串数组。因为数组首地址是个常量,没法直接将指针变量送进去,那么就只好靠操作元素来实现了。结论:字符数组和字符指针,指向字符串的首个地址。好了,今天就写这么多,个人学习私货,大神轻喷。
2023-06-24 17:00:25
283
1
原创 关于C语言的char
首先,char是C语言变量的最小存储空间,也就是每一个地址都实际上都对应一个char空间。而当你的变量大于一个char时,指针地址指向这个变量占用多个char空间最低地址的char。个人认为char最重要的是它和字符串的关联,在C语言中没有字符串,全靠char指针进行操作,这在以后学习嵌入式单片机操作命令时是不可或缺的。char类型可以输入字符,也可以输入0-255的变量;从两个测试函数可以看出,charl类型变量存入存储地址的是一个字符变量,输入方式可以是字符,也可以是数字。
2023-06-23 14:56:04
595
1
原创 自己做的strlen函数
学习变量和常量的时候讲过,变量可以赋值,常量不可以。字符串数组,可以理解为将字符串内容赋值到一个元素为字符的数组中,这个数组本质是一个变量。而指向字符串首地址的指针,解引用后实际是一个常量,是不可以进行修改的,所以使用char const *修饰。我把输入字符串改成两个完全相同的内容,分别使用字符数组和字符指针表示字符串。字符数组名为数组首地址,字符指针表示字符串首地址,二者地址是完全不相同的。在C语言中,没有字符串这个变量。如果想表示字符串,有两种表示方法:1,字符数组,数组名表示数组首地址。
2023-06-22 12:19:30
79
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅