- 博客(6)
- 收藏
- 关注
原创 二维数组简单例子
一:printf("%d",*p[1]+1)=printf("%d",*(p+1)+1)指针数组 int *arr[10]首先是个数组,但是他是指针类型,数组里全是指针。对于二维数组,形如int arry[3][4],char arr[][4]数组指针 int(*arr)[10]首先看括号内是个指针,指向数组。这一中是直接定位p[1]等价于p+1,然后再加上1或者其他。这一种是定位到p[1]中的第二个元素,即该例子中的4。二:printf("%d",*(p[1]+1))首先明确优先级()>[]>*
2023-09-30 16:23:50 186
原创 地址运算例题
于是在机器中0xA5的寄存中表达式为0000 0000 1010 0101 取反后 1111 1111 0101 1010。那么右移5位 是 0000 0111 1111 1010 由于是unsigned char 型 只能取低8位的。而如果按八位寄存器,即0xA5为1010 0101 ,取反:0101 1010,右移5位:0000 0010。注意:a虽然是无符号char型,只占一个字节,但是它存放在一个16位寄存器中。在一个16位寄存器中,求b。则值为2 ,是错误的。
2023-09-30 16:17:23 111
原创 malloc和free简单介绍
free()释放指针指向的内存,但不释放指针,它将内存清楚,而指针是一个变量,在程序结束时才会销毁。释放内存后指针依然指向该区域,不过该区域的内容未知,故释放后最好把指针指向NULL,即放回NULL。malloc函数返回的指针是指向堆里面的一块内存,而操作系统里有一个记录空闲内存地址的链表,当收到请求是,会遍历链表来找一个内存空间大于所请申请的空间的堆结点,随后将该结点删除。指针自身 = (指针类型*)malloc(sizeof(指针类型)*数据数量)不用malloc的变量声明在栈,malloc数据在堆。
2023-09-30 16:14:02 99
原创 STM32F103内存简单介绍
系统存储区:存放串口下载程序,上电后根据启动配置,将FLASH或系统存储区映射到启动空间,执行程序或下载。STM32f103的程序存储器,数据存储器,寄存器和IO端口被组织到一个4GB线性地址空间。代码区(512M):分为启动空间(128M)FLASH(16KB~1M)系统存储区(2KB)系统可从:FLASH、系统存储区,内置SRAM三处启动,通过设置BOOT1,BOOT0。以小端模式(小字节保存在小地址)存在存储器中,分8块,每块512M。外设区:外设寄存器地址空间,用于调试组件等私有外设。
2023-09-30 16:10:08 1468
原创 STM32F103时钟系统简单说明
一条较为完整的时钟配置路线大致为:HSE–PLL–SYSCLK–AHB–HCLK–AHB1–PCLK1(–AHB2–PCLK2)STM32有5个时钟源,分别是HSE高速外部时钟,HSI高速内部时钟,LSE低速外部时钟,LSI低速内部时钟,PLL锁相环.在MCU没有超过最高时钟频率运行之前,时钟频率越高,系统运行更加稳定,故我们配置时钟时一般都是希望配置的时钟频率接近上限。我们往往配置的时钟是SYSCLK系统时钟,而STM32F103的系统时钟是72MHz。对于STM32F103系列,
2023-09-30 16:08:51 305
原创 已解决 RuntimeError: CUDA error: out of memory.
代码在服务器上运行出错,RuntimeError: CUDA error: out of memoryCUDA kernel errors might be asynchronously reported at some other API call,so the stacktrace below might be incorrect.For debugging consider passing CUDA_LAUNCH_BLOCKING=1.
2022-07-24 16:42:39 12600 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人