自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 资源 (1)
  • 收藏
  • 关注

原创 python 逐行分析代码运行时间 LineProfiler

使用LineProfiler,可显示每行代码的运行时间,以及时间占比,也可分析总的运行时间,。然后,确定需要分析的代码。

2024-02-19 16:30:10 344

原创 spyder 对 lambda 函数的调试

【代码】spyder 对 lambda 函数的调试。

2024-01-23 12:13:55 397

原创 Error: Spyder was unable to retrieve the value depends on how module is imported

python interpreter所在的环境中没有安装spyder,也就是当前打开的spyder界面并不是安装在当前环境中的spyder。在当前环境中安装spyder,如何安装见下方链接,注意。

2023-12-12 10:14:25 579

原创 python try-except

在try的部分中,当遇到第一个Error,就跳转到except中寻找对应类型的error,后续代码不再执行,如果try中有多个Error,注意顺序。以下程序可用于查看try-except的运行顺序。相比于直接raise ValueError,使用try-except可以使程序在发生异常后仍然能够运行。

2023-12-05 21:37:26 454

原创 python import 顺序以及自动实现import 顺序更改

我们推荐所有的模块在 Python 模块的开头部分导入。核心风格: import 语句的模块顺序。使用isort实现import的自动排序。1. Python 标准库模块。2. Python 第三方模块。可实现import的自动排序。3. 应用程序自定义模块。1.安装isort库。

2023-12-05 20:34:03 751

原创 DataFrame和Series的索引

因为不同情况下要合并的df的数量不一样啊,直接放会引起混乱,从如何方便使用函数的角度想想,一般都是放在一个整体中的,除非有那种明确的,这个函数的作用就是支队固定个数的参数进行操作,那样才有可能是相对“随意”的方式,因为在别处固定了。这个相当于df的数据来源是一个具有多个元素的列表,也就是这是一个词典列表,对于多个词典列表组成的df:如下,就是这么处理的:注意,这里没有把key对应的value再展开。df的数据来源有多种,可以从列表,词典,集合,数组等,只要有符合要求的数据,都可以创建df。

2023-11-12 14:06:57 165

原创 关于程序的tips记录

1.对于“规则”类的部分,可以做成配置文件放在外面,这样方便直接在文件外读取,更改规则,而不用到代码中进行。2.对于计算的准确度不高的数值,可以给一个带宽,适当的给该值一个容差。

2023-10-12 11:44:56 72 3

原创 Python中的函数传参

python传参

2023-05-26 17:31:58 114 1

原创 conda install 新版本没有作用 与 Spyder调试

spyder调试

2023-05-26 16:54:19 214

原创 Python—子类对父类的继承&子类新增属性,方法,类的方法

内容是记录在OneNote中的,不太方便导入到CSDN中,就用截图来说明吧。里面记录了一些父类、子类、类的属性和方法的内容。

2023-05-19 23:18:24 800

原创 结构体数组、结构体指针、结构体二级指针

结构体指针、结构体指针数组

2023-01-17 15:21:44 317

原创 结构体二级指针、空指针、野指针

结构体指针

2023-01-16 14:22:02 676

原创 break、switch、continue

循环中的break与continue

2023-01-06 17:22:22 355

原创 多线程、进程、mutex

线程、锁

2023-01-05 16:57:28 84

原创 数组名、&数组名、指针;函数指针

数组名与&数组名

2023-01-04 11:30:19 142

原创 指针与数组作为sizeof() 与 strlen()的“参数“

sizeof与strlen

2022-10-28 11:35:30 311

原创 结构体中有指针成员的逐层malloc 与 free

malloc 和 free

2022-09-07 16:55:29 1864

原创 C语言-多线程-线程执行函数、互斥锁\线程函数malloc与free

多线程

2022-09-06 09:29:16 1119

原创 二级指针/传值、传址

二级指针/传值、传地址

2022-08-20 17:38:53 333

原创 V2X消息层——MAP信息的解读

C-V2X

2022-08-17 15:25:24 1560

原创 二级指针的简单理解

二级指针

2022-08-09 16:12:26 347

原创 结构体指针一定要进行初始化,指针也要进行初始化

C语言

2022-07-01 15:05:41 1613

原创 通过malloc和指针,用传址的方式更改实参的值

C语言

2022-06-30 16:38:45 267

转载 关于指针的一些问题

C语言

2022-06-30 15:27:02 561

原创 C语言的传值和传址,指针的指针

函数调用的时候:传值和传址c语言的传值和传址 - 百度文库c传值:不改变主函数中实参的数值传址:把主函数中变量的地址直接传给给其他函数使用,改变了主函数中实参实际的数值。两者的区别就是:传值的话只在函数内部起作用,如果是传地址的话,经过一个函数过程,主函数中的实参就能够被实际地改变。对于数组,因为数组通常来说占的内存是比较大的,系统不会像传值一样在函数的内存空间中再复制一块内存进行数值传递,而是直接把地址传进去,直接更改数组的实参数值。系统对数组的内存比较苛刻。另外还涉及到指针的指针:传址:想通过函数实际地

2022-06-29 10:45:55 592

原创 数组作为函数参数时,最好将数组大小也作为一个函数参数

1.一个好的习惯:当数组作为函数参数时,最好将数组大小也作为函数的一个参数。2.如果数组大小不确定,再加上可能代码写的不严谨,可能导致数组溢出(数组越界),然而编译器也不报错的情况,比如下面这个例子,就说明了为什么最好把数组长度也作为一个参数进行明确。这是一个对数组元素求和并计算平均值的函数#include<stdio.h>int getAvgScore(int score[]){ int *p; int num = 0; int sum = 0; p = score

2021-09-07 13:49:31 1459

原创 函数指针与回调函数

1.函数指针是一个指针,是一个指向函数的指针,当使用该指针时,将会调用其指向的函数,也就是回调函数。2.函数指针——回调函数的好处:(1)调用回调函数的调用者无需关系回调函数是如何实现其功能的,只需要知道该函数能实现某种功能即可,这应该就是API接口那方面的内容吧。(2)使用函数指针调用回调函数,因为函数指针是指向函数的指针,所以这相当于是地址传递的方式,避免了地址传递带来的巨大开销。(此点目前暂时是这样理解,以int Add(int,int)函数为例,功能为计算两个参数之和。如果采用Add(A

2021-09-06 17:02:16 270

原创 函数返回值是指针的注意点、static限制子函数内部的局部变量、指向数组的指针如何表示数组元素

本内容主要研究指针类型的函数在返回指针时需要注意:不要返回函数内局部变量的指针。本想简单的写一个通过指针修改数组元素值的指针类型的函数,结果暴露的问题还真不少,说明基本功还是不够扎实。下面来看一下:当函数返回值类型是指针时需要注意的点:先看程序:#include<stdio.h>#include<string.h>int* GetNum(){ int array[10]; for (size_t i = 0; i < 10; i++) {

2021-09-06 10:49:54 337

原创 %s、%c、字符常量、字符串常量,const char*,指针数组,字符串数组总结

注:凡是说道字符串,基本就是字符串常量。看到这么一句话:提到const char*,就认为这个指针指向的是字符串。根据之前对常量指针和指针常量的理解,const char* p,表示一个常量指针,也就是指针指向的是常量,不能通过指针对数值进行修改...

2021-09-03 17:03:38 5536 1

原创 const char* 和 char* 、字符串常量

注:凡是说道字符串,基本就是字符串常量。看到这么一句话:提到const char*,就认为这个指针指向的是字符串。根据之前对常量指针和指针常量的理解,const char* p,表示一个常量指针,也就是指针指向的是常量,不能通过指针对数值进行修改。也就是*p=XXX,是错误的用法。为什么const char*就是针对字符串是用的呢,因为这是一个常量指针,字符串是常量,而且是存储在系统负责管理的常量存储区中的,编译器无权对其进行修改。而且又是char类型的指针,还是一个常量指针,自然就能够与字符串

2021-09-02 21:22:43 5416

原创 对指针的一点理解、二级指针、野指针、指针作为函数返回值

可能之前定义指针变量的时候总是用int *p这种形式,总是顺其自然的就认为*p是一个指针变量,实际上p才是指针变量,*p是一个表达式,*是取值运算符,不要再认为*p是指针变量了。int* p; p是一级指针int** p,p是一个二级指针,p是二级指针的名字。感觉还是int* p,int** p这样写更清楚一点,以后尽量少用int *p这种表达方式吧。指针变量名上也是不带*的,注意。下面的内容转自https://blog.csdn.net/chen1083376511/article/d

2021-09-02 11:18:11 273 1

原创 指针变量-printf %d和%p的含义

1.指针变量的值是地址,地址通常用16进制表示2.int a=1;int* p=&a;printf("%d\n",p);和printf("%p\n",p);有什么区别呢,输出的都是p的值,%p是把指针变量p中存储的a的地址以十六进制形式输出,%d是吧p中存储的a的地址以十进制形式输出。输出的都是p的值,不要理解成%p,是把p的地址输出。%p就是专门给指针变量使用的,输出指针变量中存储的值,也就是其他变量的地址,只不过是以十六进制形式输出。#include<stdio.

2021-09-02 11:05:58 7053 1

原创 指针的指针???。。。

指针的指针实在是困扰很久,到底指针的指针是用来做什么的呢?需要清楚一个地方:指针也是一个变量。下面看一个应用二级指针的例子吧。目的:希望通过子函数在堆中申请一块动态内存来存储结构体Data,并且修改结构体成员的数值。#include <stdio.h> #include <stdlib.h> typedef struct Data { int da; } Data; void fun(Data* p); int

2021-09-01 15:47:21 45

原创 数组名到底是不是指针

#include <stdio.h>#include <string.h>int main(void){ int a[3] = { 1, 2, 3 }; printf("%d\n", *a);//结果为1。此时数组名看起来又像是一个指针,但是却不能对这个指针进行++操作。此时可能产生疑问,好像数组名在不作为函数参数的时候也能当作指针使用?那么为什么说数组名作为函数参数的时候才退化为指针呢。实际上,数组名是这样使用的:数组名是一个指针,但是一个指针常量,其是一...

2021-08-31 15:59:30 7697 2

原创 const-只读变量-常量

之所以引出这个问题,是因为最近在看C语言运行时各种变量的内存分区情况,不太明确const 修饰的变量和字符串常量/数字常量等这些量是否存储在一起。#include <stdio.h>#include <string.h>int main(void){ int n = 2; int* pn = &n; printf("int n address is %d\n", pn); printf("\n"); const int i = 3;

2021-08-31 10:27:16 868

原创 指针常量与常量指针

https://www.cnblogs.com/witty/archive/2012/04/06/2435311.html

2021-08-30 15:29:15 52

原创 数组作为函数参数——指针常量/常量指针

之前一直认为数组名就是指针,其实不然。数组名作为函数参数时才会退化为指针,指针为函数参数时才会和数组名的使用是等效的。(注意,等效只是说效果相同,并不是等价,不能认为数组名就是指针,指针就是数组名。)下面的程序:有一个长度为4的float数组存放四个数,此数组作为一个计算平均值的函数的参数。#include <stdio.h>#include <string.h>float Avarage(float array[4]){ int i; float aver

2021-08-30 10:51:58 1484

原创 C语言-字符数组-字符串数组-‘\0‘-sizeof-strlen()-printf()

1.字符数组和字符串数组字符串数组:字符串数组是字符数据的特殊表达方式,其本质还是一个字符数组。如char mychar[]="hi u",字符串数组中存放的也是一个个的字符,对于字符串数组,在系统中的存储为:'h' 'i' ' ' 'u' '\0' ,其中,'\0'作为字符串结束的标志,最后一个结束标识符‘\0’是系统自动添加的。字符数组:元素是一个个的字符,实际上字符串数组的元素也是一个个的字符,字符串数组是特殊的字符数组。字符数组和字符串数组一样,都是以‘\0’作为结束符的,还是那句话,字

2021-08-27 11:03:10 466

原创 数组定义时,大小必须为常量

有时我们需要动态的确定数组的大小,可能会采用下面的方式:int n=5;int a[n];注意:上面这种定义方式是错误的,因为在定义数组时,必须明确确定数组的大小,如int a[5],数组大小一定要是一个常量,这样编译器才能给数据分配出确定且准确的空间。可以这样理解:1.定义数组时已经涉及到在内存的分配,编译器如果在给数组分配空间时发现数组的大小竟然没有直接给出,而是一个变量,如果这个变量又刚好没有初始化,系统随便分配了一个值,数组大小也是不确定的了。2.如果是出于想要根据需求动态分

2021-08-26 14:55:20 5987

原创 C语言:getchar()与缓存区

当我们用键盘敲入字符信息时,其实被敲入的字符存储到了缓存区中,当在屏幕上按下一系列字符(形成了字符串)与回车键的时候,在缓存区中也会有一个个字符与回车键(\n)作为字符出现。而getchar函数是从缓存区中对字符进行一个一个的读取。比如在屏幕按下abc后回车,出现在缓存区的是abc\n。程序每调用一次getchar()函数,getchar就从缓存区中读取一个字符存储到对应的变量中。同样,\n也会作为一个字符被getchar读取到。对于putchar()函数来说,作用是在屏幕上打印字符变量,如果p

2021-07-17 16:33:38 855

YDT 3400-2018 基于LTE的车联网无线通信技术 总体技术要求.pdf

YD/T 3400-2018 基于LTE的车联网无线通信技术总体技术要求PDF文档

2021-07-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除