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等常见外设)

相关推荐
倒头就睡的小比特1 天前
算法竞赛C++常用的STL
c++·算法
小羊没烦恼!1 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
猎头南楼1 天前
知识社区推荐系统实践:新用户冷启动与长短期兴趣建模的挑战 资深推荐算法工程师
人工智能·深度学习·算法·机器学习
m0_547486661 天前
《数据结构教程》全套 PPT课件2026
数据结构
旖旎夜光1 天前
力控面试题 01.01: 判定字符是否唯一(位运算) —— 题解
c++·学习·算法·leetcode·力控
wzdark1 天前
大规模并行计算中的负载均衡算法研究4
算法
Because_of_Her11 天前
并查集-听课笔记
笔记·算法·并查集
码流子1 天前
高速公路安全监测实践:碰撞监测预警+物联网底座,从感知到处置的闭环
大数据·人工智能·物联网·算法·架构
another heaven1 天前
【算法/C++ MD5算法能否逆解码?原理、C++实现与同类哈希算法对比】
c++·算法·哈希算法
wzdark1 天前
从算法设计模式看编程思维的抽象能力4
算法