3.9-3.11学习笔记

3.9开工第一天,调整好状态迎接新学期.

在寒假发现如果真要做软件,不止知道更要会用,所以之后会提升自己代码量,尽量把学到的知识融入代码里。

知识点

数组指针和指针数组有什么区别?

指针数组:本质是数组,数组里的每个元素都是指针地址

数组指针:本质是指针,这个指针专门用来指向一个数组保存数组的首地址

笔试用指针数组存储 3 个整数的地址,遍历输出每个整数的值

复制代码
#include <stdio.h>

int main() {
    int num1 = 10, num2 = 20, num3 = 30;
    int *p_arr[3] = {&num1, &num2, &num3};
    for (int i = 0; i < 3; i++) {
        printf("p_arr[%d] 指向的值:%d\n", i, *p_arr[i]);
    }
    return 0;
}

用数组指针指向一个 int 数组,通过指针输出数组的所有元素

复制代码
#include <stdio.h>

int main() {
    int arr[3] = {100, 200, 300};
    int (*arr_ptr)[3] = &arr;
    for (int i = 0; i < 3; i++) {
        printf("数组元素[%d]:%d\n", i, (*arr_ptr)[i]);
    }
    return 0;
}

函数指针和指针函数有什么区别?

指针函数:本质是函数,这个函数的返回值是一个指针地址

函数指针:本质是指针,这个指针专门用来指向一个函数保存函数的入口地址

可以看出和数组大同小异

指针函数就不多说,只是函数返回的是地址如

复制代码
int *function()
{
    static int a = 10;
    return &a;
}

用static是防止函数执行完销毁变量

函数指针有点类似于C++里的多态,可以控制执行哪个函数

复制代码
#include <stdio.h>

int add(int a, int b) {
    return a + b;
}

int main() {
    int (*func_ptr)(int, int) = add;
    printf("调用结果1:%d\n", func_ptr(3, 5));   // 输出8
    printf("调用结果2:%d\n", (*func_ptr)(3, 5));// 输出8
    return 0;
}

数组名和指针的区别与联系是什么?

数据保存方面,数组保存的是数据,指针保存的是地址。数据访问数组访问是直接访问,指针是间接访问。指针多用于动态数据结构动态内存开辟。数据多用于存储统一的数据结构线性表等等

常量指针、指向常量的指针、指向常量的常量指针有什么区别?

常量+指针(const + *)也就是int const *p
不能通过指针来修改值

指针+常量(*+const)也就是int *const p

不能改变指针的指向,但是存储的值可以修改

指针和引用的异同是什么?如何相互转换?

指针是存储地址的独立变量,可空、可声明后赋值、能重绑定指向不同变量,支持多级指针;引用是变量别名,无独立内存,必须声明时绑定有效变量,不可空、不可重绑定,无多级引用。

什么是串口,RS232,RS485

串口通信使用TTl电平来发送数据,但是缺点明显,传输距离短,看抗干扰能力弱,等问题,于是出现RS232,用+12V和-12V来表示0或1,抗干扰能力变强传输距离也增加了但是12V来回切换,对元器件不友好,于是出现RS485,使用差分来表示0/1,不仅传输距离增加抗干扰能力强,usb数据线就是使用差分信号

这月计划

基础知识点还是继续积累

巩固驱动代码

(之前使用imx6ull开发版是跟着视频来写驱动代码,现在只记得零零散散的碎片。这次的rk3588没有教学视频,想通过rk3588手册和文档上来学习驱动代码,实现LED,按键,中断,pwm,iic,usb等常见外设)

相关推荐
乌萨奇也要立志学C++1 小时前
【洛谷】图论 最小生成树详解:Prim与Kruskal算法(含代码实现)
算法·图论
智者知已应修善业1 小时前
【花费最少钱加油到最后(样例数据推敲)】2024-11-18
c语言·c++·经验分享·笔记·算法
飞Link2 小时前
深度解析 NT-Xent:对比学习中的标准化温度交叉熵损失
python·算法·数据挖掘·回归
饿了就去喝水2 小时前
C语言笔试程序题
c语言·数据结构·算法
故事和你912 小时前
sdut-程序设计基础Ⅰ-实验三while循环(1-10)
开发语言·数据结构·c++·算法·类和对象
再一次等风来2 小时前
声源定位算法5----SRP-PHAT(1)
算法·信号处理·srp
Yupureki2 小时前
《算法竞赛从入门到国奖》算法基础:数据结构-并查集
c语言·数据结构·c++·算法
DeepModel2 小时前
【概率分布】伯努利分布详解
算法·概率论
再一次等风来2 小时前
声源定位算法5----SRP-PHAT(2)
算法·信号处理·srp·声源定位·gcc-phat