关于keil5中结构体指针作为函数参数,无法赋值的问题

.H文件中定义结构体如下
typedef struct {
float Distance; /*!< 用厘米测量传感器的距离*/
GPIO_TypeDef* ECHO_GPIOx; /*!< 指向用于 ECHO port /
uint16_t ECHO_GPIO_Pin; /
!< ECHO Pin /
GPIO_TypeDef
TRIGGER_GPIOx; /*!< 指向用于 TRIGGER port /
uint16_t TRIGGER_GPIO_Pin; /
!< TRIG Pin */
} TM_HCSR04_t;

函数申明如下:
uint8_t HCSR04_Init( TM_HCSR04_t HCSR04 , GPIO_TypeDef ECHO_GPIOx, uint16_t ECHO_GPIO_Pin, GPIO_TypeDef* TRIGGER_GPIOx, uint16_t TRIGGER_GPIO_Pin);

float HCSR04_Read(TM_HCSR04_t *HCSR04);

主函数如下:
int main(void)
{
float result=0;
TM_HCSR04_t *HCSR04_1; //定义结构体指针
HCSR04_Init(HCSR04_1,echo_gpio,echo_pin,trig_gpio,trig_pin);//初始化赋值
for(;;)
{
result=HCSR04_Read( HCSR04_1 ); //读值
printf( "length is %f",result );
}
}

编译无错误,就是TM_HCSR04_Init函数中结构体指针作为函数参数无法赋值,如有知晓者,还望不吝赐教,C币不足,万分bao'qian

2个回答

HCSR04_Init 要动态分配内存给 HCSR04_1 指针

TM_HCSR04_t *HCSR04_1 ;这里定义了一个结构体指针,但是没有指向一个结构体的变量,没有一个实体。如果先定义一个结构体变量,再把
这个指针指向它,再向HCSR04_Init()这个函数传递应该可以,我也刚碰到这个问题,才想明白。_

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
结构体指针成员变量在赋值后被篡改了是怎么回事?

结构体指针地址没变,值被篡改了什么情况,有没有大神知道啊 // ConsoleApplication1.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include "iostream" #include "string.h" using namespace std; struct STU_LIST { char name[40]; int num; char sex[4]; int clas; struct STU_LIST *nex; }; /******************************************************************************************************************/ /*------------------------------------ -----数字提取------------ ---------------------------------------------*/ /******************************************************************************************************************/ int strEint(const char *str) { int len = strlen(str),i,num; char *tepnum,*tep; tepnum = new char[40]; tep=tepnum; i=len-1; *(tepnum+len) = '\0'; while (i>=0) { if (*(str+i)>='0'&&*(str+i)<='9') { *(tepnum+i)=*(str+i); } else { tepnum=tepnum+i+1; i=0; } i--; } num = atoi(tepnum); delete[] tep; return num; } struct STU_LIST *STU_insirt(struct STU_LIST *head,int n); struct STU_LIST *PRESENT_class; /******************************************************************************************************************/ /*------------------------------------ -----主程序------------ -------------------------------------------------*/ /******************************************************************************************************************/ int _tmain(int argc, _TCHAR* argv[]) { char *comad; int lep = -1; bool state = true,create_sign = false; comad = new char; cout<<"欢迎使用学生名单录入工具,请输入命令命令进行操作。\n输入help查询可用命令。"<<endl; PRESENT_class = new struct STU_LIST; PRESENT_class->clas = 10; PRESENT_class->num = 0; PRESENT_class->nex = NULL; while (state) { cin>>comad; int nums; struct STU_LIST *temp; nums = strEint(comad); if (nums <= 0) { cout<<"您的操作命令缺少有效参数或参数类型有误!!!"<<endl; cout<<"您可以输入help来查询可用操作命令,及使用格式和方法。"<<endl; } else { if(PRESENT_class != NULL) { temp = STU_insirt(PRESENT_class,nums); cout<<"temp->nex->"<<static_cast<const void *>(temp->nex)<<endl; cout<<"temp->nex->num->"<<static_cast<const void *>(&temp->nex->num)<<endl; cout<<temp->clas<<"班"<<temp->name<<"的信息记录已添加。"<<endl; if (temp->nex == NULL) { cout<<"本节点是尾结点"<<endl; } else { cout<<"头节点的学号是"<<temp->num<<endl; cout<<"第二个节点的学号是"<<temp->nex->num<<endl; } } else { cout<<"您要往哪个班级添加学生信息,请在添加信息前先选择一个班级的登记表。"<<endl; cout<<"您可以输入help来查询可用操作命令,及使用格式和方法。"<<endl; } } if (strstr(comad,"exit")!=NULL) { state = false; } } return 0; } /******************************************************************************************************************/ /*-----------------------------------------插入学生条目-----------------------------------------------------------*/ /******************************************************************************************************************/ struct STU_LIST *STU_insirt(struct STU_LIST *head,int n) { struct STU_LIST *temp,*stp1,*lastsp; temp = head; lastsp = NULL; bool sign = true; while (sign) { cout<<"当前节点学号是"<<temp->num<<endl; if(temp->num >= n) //假如要插入的学号不大于当前节点学号 { if(temp->num > n ) //假如要插入的学号小于当前节点学号,那么在当前节点前面创建新节点并录入学生数据 { stp1=(struct STU_LIST*) alloca(sizeof(struct STU_LIST)); stp1->num = n; stp1->clas = head->clas; cout<<"请输入学生姓名:"; cin >>stp1->name; cout<<"请输入学生性别:"; cin >>stp1->sex; stp1->nex = temp; if(temp == head ) //假如当前节点是头结点,那么设置新节点为表头 { head = stp1; sign = false; } else //假如当前节点不是头结点,将上一个节点的指针指向新节点,跳出循环结束命令 { lastsp->nex = stp1; sign = false; } } else //假如要插入的学号等于当前节点学号,那么更新该节点学生数据。 { cout<<"请输入学生姓名:"; cin >>temp->name; cout<<"请输入学生性别:"; cin >>temp->sex; sign = false; } } else //假如要插入的学号大于当前节点学号 { cout<<"要插入的节点大于当前节点"<<endl; if(temp->num == 0) //假如当前节点学号等于0,意味着当前节点没有录入过数据,那么将本节点作为插入的节点录入学生数据。 { temp->num = n; cout<<"请输入学生姓名:"; cin >>temp->name; cout<<"请输入学生性别:"; cin >>temp->sex; temp->nex = NULL; sign = false; } else //假如当前节点的学号不等于0。 { if(temp->nex == NULL) //假如当前节点是尾结点,那么在当前节点之后创建新节点 { stp1 = (struct STU_LIST*) alloca(sizeof(struct STU_LIST)); cout<<"stp1 -> "<<static_cast<const void *>(stp1)<<endl; stp1->num = n; cout<<"新节点的学号是"<<stp1->num<<endl; stp1->clas = head->clas; stp1->nex = NULL; cout<<"请输入学生姓名:"; cin >>stp1->name; cout<<"请输入学生性别:"; cin >>stp1->sex; temp->nex = stp1; cout<<"temp->nex->num="<<temp->nex->num<<endl; cout<<"temp->nex->num->"<<static_cast<const void *>(&temp->nex->num)<<endl; sign = false; } else //假如当前节点不是尾结点,那么将当前节点设置为下个节点 { lastsp = temp; temp = temp->nex; } } } } if(head->nex != NULL) { cout<<"head->nex->num="<<head->nex->num<<endl; cout<<"head->nex->num->"<<static_cast<const void *>(&head->nex->num)<<endl; } return head; } ![图片说明](https://img-ask.csdn.net/upload/201912/28/1577541877_870062.png) 在函数内部时候值不变,一出函数内存里的值就变了这是什么道理。

结构体类型的指针初始化和赋值问题

编程的时候我定义了一个结构体,结构体有几个变量的值我必须要赋初值,因为循环得用。 结构体这样定义: typedef struct { BYTE stream_Type; unsigned short PID; unsigned short InfoDescrip; }M_PICE; 用的时候: M_PICE* p_Mpice = NULL; p_Mpice->InfoDescrip = 0; 运行到上一句就报错 Unhandled exception in DVB.exe:0xC0000005:Access Violation

结构体指针初始化问题

定义一个队列结构体,想用init方法初始化一个该结构体的指针,testQueue1和testQueue2两种方法都有问题。Queue内部的front和rear指针无法初始化。 但如果是在主程序或者testQueue函数中用malloc初始化,却是可以的。 main程序如下: #include "Queue.h" void testQueue1(); void testQueue2(); void testQueue3(); int main() { printf("\n"); testQueue1(); testQueue2(); testQueue3(); return 0; } void testQueue1() { Queue *q; InitQueue(q); printf("\n"); } void testQueue2() { Queue *q=InitQueue_H(); } void testQueue3() { Queue *q; q=malloc(sizeof(Queue)); q->qfront=malloc(sizeof(QNode)); } 头文件: #include <stdio.h> #include <stdlib.h> //定义数据结构 typedef int DATA; typedef struct _qnode; typedef struct _qnode { DATA data; struct _qnode *next; }QNode; //本定义中,qfront和qrear作为头尾指针,并不存储数据 typedef struct _queue { QNode *qfront; QNode *qrear; }Queue,*LinkedQueue; //初始化一个空队列,返回值1表示初始化成功,0表示初始化失败 int InitQueue(Queue *q); //初始化,返货Queue指针 Queue *InitQueue_H(); //判断是否为空 int IsQEmpty(Queue *q); 程序实现: #include "Queue.h" int InitQueue(Queue *q) { q=(Queue*)malloc(sizeof(Queue)); if(q==NULL)return 0; q->qfront=q->qrear=(QNode*)malloc(sizeof(QNode)); if(q->qfront==NULL) return 0; q->qfront->next=NULL; return 1; } Queue *InitQueue_H() { Queue *q=(Queue*)malloc(sizeof(Queue)); if(q==NULL)return NULL; q->qfront=q->qrear=(QNode*)malloc(sizeof(QNode)); if(q->qfront==NULL) return NULL; q->qfront->next=NULL; return q; } int IsQEmpty(Queue *q) { if(q==NULL||q->qfront==NULL||q->qrear==NULL) return; return q->qfront==q->qrear; }

请大神帮忙解答:数组强制转换为结构体指针的一个问题

代码是这样的,按照代码所示,QueueRead函数中的*Queue结构体与UsbReceiveBuffer是如何对应的?或者说Queue中的*out,*In,*End,Ndata分别指的是什么内容? 以下代码: unsigned char UsbReceiveBuffer[2048]; typedef struct{ unsigned char *Out; unsigned char *In; unsigned char *End; unsigned int NData; unsigned int MaxData; }DataQueue; UsbBufferReceive(unsigned char *buf, unsigned int len) { for(i=0;i<len;i++) { (QueueRead(buf+i,(void *)UsbReceiveBuffer); ... } } unsigned char QueueRead(unsigned char *Ret, void *Buf) { DataQueue *Queue; Queue = (DataQueue *) Buf; ... }

一个指针指向一个结构体,然后怎么改变这个指针指向数据的值

比如p为一个指针 p->num+=1; 怎么可以改变p->num; 上面的运算是想要达到的目的,但运行不成功,因为不可以只能赋值给一个左值,不能给表达式

keil跨文件调用结构体报错

最近学STM32项目遇到问题。我在a.h定义了结构体 typedef struct{}A 并extern A my_a,在a.c初始化了my_a={参数值}。在c.c中我定义了一个函数 A exp(A _data),c.h中include"a.h",然后声明函数 A exp(A _data)(需要在main()中调用的),这时c.c单独编译通过,但是整体编译生成hex时候就会报APP/c.h(9): error: #20: identifier A" is undefined A A exp(A _data) 真的想不明白 求大佬救助 main.c ``` #include "a.h" int main() { A Adata; Adata=fun2(my_a); } ``` a.c ``` #include "a.h" A my_a={.a=1}; ``` a.h文件 ``` #ifndef _a_H #define _a_H #include "c.h" typedef struct{ int a; }A; extern A my_a; #endif ``` c.c文件 ``` #include "c.h" A fun2(A _data) { return _data; } ``` c.h文件 ``` #ifndef _c_H #define _c_H #include "a.h" A fun2(A _data); #endif ``` 错误 .\app\c.h(4): error: #20: identifier "A" is undefined A fun2(A _data);

MDK的结构体问题struct

typedef struct { uint8_t lowsel; uint8_t highsel; } hl; hl HighLowSel[16] = {{0x07,0x00},{0x06,0x00},{0x05,0x00},{0x04,0x00}, {0x03,0x00},{0x02,0x00},{0x01,0x00},{0x00,0x00}, {0x07,0x01},{0x06,0x01},{0x05,0x01},{0x04,0x01}, {0x03,0x01},{0x02,0x01},{0x01,0x01},{0x00,0x01}}; 编译提示出错 .\Obj\Project.axf: Error: L6200E: Symbol HighLowSel multiply defined (by board.o and main.o). 请教,如何修改

Keil4中无法再main函数中设置断点

![![图片说明](https://img-ask.csdn.net/upload/201504/28/1430209613_17899.png)图片说明](https://img-ask.csdn.net/upload/201504/28/1430209605_323633.png) 在汇编那可以设置断点,但是在c语言那个图标就编程灰色的了

keil5 Debug的时候,程序指针一直停留在c文件的顶部,实际上好像是有执行改文件的函数的,但是指针就是跳不进去,请问有人遇到过这种情况吗

![图片说明](https://img-ask.csdn.net/upload/202005/25/1590369311_295143.png) 就是这样,程序指针一直停留在顶部,然后我按F10/F11也不会动,就是闪一下, 他其实也是有在执行当前文件的函数的,但是就是跳不进去,如果我把编译优化设置成不优化的话,就能看见指针跳进去了,但是为什么会这样的,我一般是用level 0级的优化的

使用结构体名->定义的新的变量编译出错,贴详细代码,请解释疑问

``` //IDE环境:keil5 以下代码编译后没有错误 typedef struct Lednum { unsigned char bit0 : 1; //结构体成员表列 unsigned char bit1 : 1; unsigned char bit2 : 1; unsigned char bit3 : 1; unsigned char bit4 : 1; unsigned char bit5 : 1; unsigned char bit6 : 1; unsigned char bit7 : 1; }BitLedNum_Typedef; //结构体变量名 typedef union //定义一个共用体 { BitLedNum_Typedef bits; //结构体变量名定义的 bits(结构体变量名可以用来定义??不是应该用结构体名Lednum来定义吗) BYTE Flag; }BitNum; volatile BitNum BitLed8Num; //用共用体变量名 定义新的共用体(同理,不是用该用共用体名定义吗) volatile BitNum BitLed4Num; #define Led8Num0 (BitLed8Num.bits.bit0) #define Led8Num1 (BitLed8Num.bits.bit1) #define Led8Num2 (BitLed8Num.bits.bit2) #define Led8Num3 (BitLed8Num.bits.bit3) #define Led8Num4 (BitLed8Num.bits.bit4) #define Led8Num5 (BitLed8Num.bits.bit5) #define Led8Num6 (BitLed8Num.bits.bit6) #define Led8Num7 (BitLed8Num.bits.bit7) //添加结构体,共用体名,定义新的结构体共用体,IDE编译出错 typedef struct LedNum { unsigned char bit0 : 1; unsigned char bit1 : 1; unsigned char bit2 : 1; unsigned char bit3 : 1; unsigned char bit4 : 1; unsigned char bit5 : 1; unsigned char bit6 : 1; unsigned char bit7 : 1; }BitLedNum_Typedef; typedef union Bitnum { LedNum bits; //unknown type name 'LedNum' BYTE Flag; }BitNum; volatile Bitnum BitLed8Num; //unknown type name 'Bitnum' volatile Bitnum BitLed4Num; #define Led8Num0 (BitLed8Num.bits.bit0) //request for member 'bits' in something not a structure or union #define Led8Num1 (BitLed8Num.bits.bit1) #define Led8Num2 (BitLed8Num.bits.bit2) #define Led8Num3 (BitLed8Num.bits.bit3) #define Led8Num4 (BitLed8Num.bits.bit4) #define Led8Num5 (BitLed8Num.bits.bit5) #define Led8Num6 (BitLed8Num.bits.bit6) #define Led8Num7 (BitLed8Num.bits.bit7) ```

keil编程,数组方面的一些疑问

uchar code table[]="12345678";这算数组吗?数组初始化不是要用大括号扩起来,用逗号隔开吗?但为什么他可以这样被调用: for(num=0;num<8;num++) LCDdate(table[num]); 如果真的这样的方法可以表示数组,那么他每个数组元素岂不是只可以表示0~9之间的数字?

关于keil中头文件无法打开

最近在搞keil相关的东西,先遇到一问题,想向各位大神们请教! 我在Keil uVision4中新建了一个工程,添加了一个.c文件,其中包含#include<boebot.h>,但是问题出现了说不能打开。 请问是什么问题?

stm32中这个是定义一个结构体吧,要加extern吗??

![图片说明](https://img-ask.csdn.net/upload/201511/02/1446451396_903459.png)这么一句话并没有进行赋值吧

keil软件,我定义的局部变量显示没有定义

新手求解!谢谢啦。检查过了,全部都是英文输入。 ![图片说明](https://img-ask.csdn.net/upload/201602/02/1454425360_537525.png)

keil5打开keil4工程后编译出现问题怎么办?

keil5打开keil4工程出现这样的情况,编译后出现"no source": Error: #5: cannot open source input file "..\source\crc32.c": No such file or directory的问题?

keil 编程遇到关于数组问题

#include<reg51.h> typedef unsigned int u16; typedef unsigned char u8; #define GPIO_DIG P0 #define GPIO_KEY P1 #define GPIOdongtai_ P3 sbit LSA=P2^2; sbit LSB=P2^3; sbit LSC=P2^4; sbit JIDIANQI=P2^0; sbit FENGMINGQI=P2^1; u8 code smg[8]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07}; u8 code b[8]={0,1,2,3,4,5,6,7}; void fengmingqi (); void jidianqi (); void juzhenanjian (u8 a,u8 i); void panduan (u8 a,u8 i); void xianshi (u8 a,u8 j); void delay (u16 i); void main () { u8 a [8]={0,0,0,0,0,0,0,0}; while(1) { u8 t=500000; juzhenanjian(a,8); while(t--) { xianshi(a,8); } panduan(a,8); } } void juzhenanjian (u8 a,u8 i) { u8 cishu=0; u8 key=0; while(cishu<=7) { GPIO_KEY=0x0f; if(GPIO_KEY!=0x0f) { delay(100); cishu++; if(GPIO_KEY!=0x0f) { switch(GPIO_KEY) { case(0X07): key=0;break; case(0X0b): key=1;break; case(0X0d): key=2;break; case(0X0e): key=3;break; } GPIO_KEY=0xf0; switch(GPIO_KEY) { case(0X70): key=key;break; case(0Xb0): key=key+4;break; } while((a<50)&&(GPIO_KEY!=0xf0)) { delay(1000); a++; } } } a[cishu]=key; GPIO_DIG=~smg[key]; } } void xianshi (u8 a,u8 j) { u8 i; for(i=0;i<=7;i++) { switch(a[i]) { case(0): LSA=0;LSB=0;LSC=0; break; case(1): LSA=1;LSB=0;LSC=0; break; case(2): LSA=0;LSB=1;LSC=0; break; case(3): LSA=1;LSB=1;LSC=0; break; case(4): LSA=0;LSB=0;LSC=1; break; case(5): LSA=1;LSB=0;LSC=1; break; case(6): LSA=0;LSB=1;LSC=1; break; case(7): LSA=1;LSB=1;LSC=1; break; } GPIOdongtai_=smg[a[i]]; delay(100); GPIOdongtai_=0x00; } } void panduan (u8 a,u8 t) { u8 kaiguan=0,i=0,j=0; while(a[i]==b[j]) { i++;j++; if(i==8) kaiguan=1; } if(kaiguan) jidianqi(); else if (kaiguan==0) fengmingqi (); } void jidianqi () { JIDIANQI=0; delay(100000); } void fengmingqi () { u8 i=10000; while(i--) { FENGMINGQI=~FENGMINGQI; delay(10); } } void delay (u16 i) { while(i--); } 系统说 a[cishu]=key有错

Keil调试过程中怎样修改变量值?

用arm板做控制,程序中有几个参数需要整定,每次修改参数——烧程序——看效果——再修改参数——重新烧程序……过程很麻烦,耗时且降低芯片寿命。可否在Keil调试时方便的修改相关变量值?这样每次修改变量赋值后直接运行程序,避免了重复烧录的过程。具体该怎么做?

有关keil中头文件路径添加问题

有关keil中头文件路径添加问题,是这样的,我昨天做了一个工程,今天删除重做,可是发现无法在工程中添加项目组,后来有人告诉我说把CMSIS中的core的对号去掉就可以了,没错,这样是可以添加项目组了,可是用正确的方法添加头文件路径之后,也会报错说找不到头文件唉!,添加的方法是肯定没错的。我用f1试验过的。跪求个位大佬们

调用系统定义的结构体还要加extern吗

![图片说明](https://img-ask.csdn.net/upload/201509/06/1441547142_145642.png) 一般我们自己定义的函数或参数在头文件中都会添加extern的把,这样在其他源文件中调用就不用加extern了,但是stm32库里面定义的是不是都没加extern呢?但是我看的这个函数他在main中第一次声明的时候是没加extern的,但是在这个源文件中就加了,怎么理解,记得之前从来没加过啊

如果能重来,我不会选择北漂——初见北京

一个人走的路

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

我说我不会算法,阿里把我挂了。

不说了,字节跳动也反手把我挂了。

2020年大厂Java面试前复习的正确姿势(800+面试题答案解析)

前言 个人觉得面试也像是一场全新的征程,失败和胜利都是平常之事。所以,劝各位不要因为面试失败而灰心、 丧失斗志。也不要因为面试通过而沾沾自喜,等待你的将是更美好的未来,继续加油! 本篇分享的面试题内容包括:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Redis、MySQL、Spring、SpringBoot、SpringCloud、RabbitMQ...

抖音上很火的时钟效果

反正,我的抖音没人看,别人都有几十万个赞什么的。 发到CSDN上来,大家交流下~ 主要用到原生态的 JS+CSS3。 具体不解释了,看注释: &lt;!DOCTYPE html&gt; &lt;html lang="en"&gt; &lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;title&gt;Title&lt;/tit...

记录下入职中软一个月(外包华为)

我在年前从上一家公司离职,没想到过年期间疫情爆发,我也被困在家里,在家呆着的日子让人很焦躁,于是我疯狂的投简历,看面试题,希望可以进大公司去看看。 我也有幸面试了我觉得还挺大的公司的(虽然不是bat之类的大厂,但是作为一名二本计算机专业刚毕业的大学生bat那些大厂我连投简历的勇气都没有),最后选择了中软,我知道这是一家外包公司,待遇各方面甚至不如我的上一家公司,但是对我而言这可是外包华为,能...

又出事了?网站被攻击了?高中生?

北京时间2020年3月27日9点整,如往常一样来到公司,带开电脑,正准备打开Github网站看一会源代码,再开始手头的工作。哟吼,一直打不开,一直出现如下页面: 我想很多网友也尝到了甜头,各大技术群炸开了锅,据网友反馈有攻击者正在发起大规模的中间人挟持,京东和Github等网站等网站都受到了影响。 什么是中间中间人挟持呢? 简而言之,就是攻击者在数据网络传输的过程中,截获传输过程中的数据并篡改...

培训班出来的人后来都怎么样了?(二)

接着上回说,培训班学习生涯结束了。后面每天就是无休止的背面试题,不是没有头脑的背,培训公司还是有方法的,现在回想当时背的面试题好像都用上了,也被问到了。回头找找面试题,当时都是打印下来天天看,天天背。 不理解呢也要背,面试造飞机,上班拧螺丝。班里的同学开始四处投简历面试了,很快就有面试成功的,刚开始一个,然后越来越多。不知道是什么原因,尝到胜利果实的童鞋,不满足于自己通过的公司,嫌薪水要少了,选择...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

工作八年,月薪60K,裸辞两个月,投简历投到怀疑人生!

近日,有网友在某职场社交平台吐槽,自己裸辞两个月了,但是找工作却让自己的心态都要崩溃了,全部无果,不是已查看无回音,就是已查看不符合。 “工作八年,两年一跳,裸辞两个月了,之前月薪60K,最近找工作找的心态崩了!所有招聘工具都用了,全部无果,不是已查看无回音,就是已查看不符合。进头条,滴滴之类的大厂很难吗???!!!投简历投的开始怀疑人生了!希望 可以收到大厂offer” 先来看看网...

我把华为小米年报放一起,发现华为才是真·手机公司,小米确实不靠卖手机赚钱...

郭一璞 发自 凹非寺量子位 报道 | 公众号 QbitAI国产手机界的两大玩家,华为&amp;小米,昨天在同一天前后脚发布了2019年财报。同行冤家,发财报也碰在了同一天。那我们就对比...

大牛都会用的IDEA调试技巧!!!

导读 前天面试了一个985高校的实习生,问了他平时用什么开发工具,他想也没想的说IDEA,于是我抛砖引玉的问了一下IDEA的调试用过吧,你说说怎么设置断点...

97年世界黑客编程大赛冠军作品(大小仅为16KB),惊艳世界的编程巨作

这是世界编程大赛第一名作品(97年Mekka ’97 4K Intro比赛)汇编语言所写。 整个文件只有4095个字节, 大小仅仅为16KB! 不仅实现了3D动画的效果!还有一段震撼人心的背景音乐!!! 内容无法以言语形容,实在太强大! 下面是代码,具体操作看最后! @echo off more +1 %~s0|debug e100 33 f6 bf 0 20 b5 10 f3 a5...

不要再到处使用 === 了

我们知道现在的开发人员都使用 === 来代替 ==,为什么呢?我在网上看到的大多数教程都认为,要预测 JavaScript 强制转换是如何工作这太复杂了,因此建议总是使用===。这些都...

什么是a站、b站、c站、d站、e站、f站、g站、h站、i站、j站、k站、l站、m站、n站?00后的世界我不懂!

A站 AcFun弹幕视频网,简称“A站”,成立于2007年6月,取意于Anime Comic Fun,是中国大陆第一家弹幕视频网站。A站以视频为载体,逐步发展出基于原生内容二次创作的完整生态,拥有高质量互动弹幕,是中国弹幕文化的发源地;拥有大量超粘性的用户群体,产生输出了金坷垃、鬼畜全明星、我的滑板鞋、小苹果等大量网络流行文化,也是中国二次元文化的发源地。 B站 全称“哔哩哔哩(bilibili...

十个摸鱼,哦,不对,是炫酷(可以玩一整天)的网站!!!

文章目录前言正文**1、Kaspersky Cyberthreat real-time map****2、Finding Home****3、Silk – Interactive Generative Art****4、Liquid Particles 3D****5、WINDOWS93****6、Staggering Beauty****7、Ostagram图片生成器网址****8、全历史网址*...

终于,月薪过5万了!

来看几个问题想不想月薪超过5万?想不想进入公司架构组?想不想成为项目组的负责人?想不想成为spring的高手,超越99%的对手?那么本文内容是你必须要掌握的。本文主要详解bean的生命...

毕业5年,我熬夜整理出了这50个优质的电子书网站,吐血推荐!

大家好,我是武哥,最近经常有小伙伴问我要电子书,都什么年代了,还找不到电子书吗?如果要说原因,那就是你还没遇到武哥我(手动滑稽~)!我今天把这么多年我经常看的电子书网站整理一下给大家,基本上能解决大家的需求。不管是在校生还是已经工作了,相信肯定对你有所帮助! 1.鸠摩搜书 首先给大家推荐的网站是:鸠摩搜书 地址:https://www.jiumodiary.com/ 这个网上非常棒,上面有很多优质...

MySQL性能优化(五):为什么查询速度这么慢

前期回顾: MySQL性能优化(一):MySQL架构与核心问题 MySQL性能优化(二):选择优化的数据类型 MySQL性能优化(三):深入理解索引的这点事 MySQL性能优化(四):如何高效正确的使用索引 前面章节我们介绍了如何选择优化的数据类型、如何高效的使用索引,这些对于高性能的MySQL来说是必不可少的。但这些还完全不够,还需要合理的设计查询。如果查询写的很糟糕,即使表结构再合理、索引再...

大厂的 404 页面都长啥样?最后一个笑了...

每天浏览各大网站,难免会碰到404页面啊。你注意过404页面么?猿妹搜罗来了下面这些知名网站的404页面,以供大家欣赏,看看哪个网站更有创意: 正在上传…重新上传取消 腾讯 正在上传…重新上传取消 网易 淘宝 百度 新浪微博 正在上传…重新上传取消 新浪 京东 优酷 腾讯视频 搜...

自从喜欢上了B站这12个UP主,我越来越觉得自己是个废柴了!

不怕告诉你,我自从喜欢上了这12个UP主,哔哩哔哩成为了我手机上最耗电的软件,几乎每天都会看,可是吧,看的越多,我就越觉得自己是个废柴,唉,老天不公啊,不信你看看…… 间接性踌躇满志,持续性混吃等死,都是因为你们……但是,自己的学习力在慢慢变强,这是不容忽视的,推荐给你们! 都说B站是个宝,可是有人不会挖啊,没事,今天咱挖好的送你一箩筐,首先啊,我在B站上最喜欢看这个家伙的视频了,为啥 ,咱撇...

代码注释如此沙雕,会玩还是你们程序员!

某站后端代码被“开源”,同时刷遍全网的,还有代码里的那些神注释。 我们这才知道,原来程序员个个都是段子手;这么多年来,我们也走过了他们的无数套路… 首先,产品经理,是永远永远吐槽不完的!网友的评论也非常扎心,说看这些代码就像在阅读程序员的日记,每一页都写满了对产品经理的恨。 然后,也要发出直击灵魂的质问:你是尊贵的付费大会员吗? 这不禁让人想起之前某音乐app的穷逼Vip,果然,穷逼在哪里都是...

总结了Mybatis,原来知识点也没多少嘛

看完这篇Mybatis,感觉你三天就会用了。

爬虫(101)爬点重口味的

小弟最近在学校无聊的很哪,浏览网页突然看到一张图片,都快流鼻血。。。然后小弟冥思苦想,得干一点有趣的事情python 爬虫库安装https://s.taobao.com/api?_ks...

疫情后北上广深租房价格跌了吗? | Alfred数据室

去年3月份我们发布了《北上广深租房图鉴》(点击阅读),细数了北上广深租房的各种因素对租房价格的影响。一年过去了,在面临新冠疫情的后续影响、城市尚未完全恢复正常运转、学校还没开学等情况下...

面试官给我挖坑:a[i][j] 和 a[j][i] 有什么区别?

点击上方“朱小厮的博客”,选择“设为星标”后台回复&#34;1024&#34;领取公众号专属资料本文以一个简单的程序开头——数组赋值:int LEN = 10000; int[][] ...

在拼多多上班,是一种什么样的体验?我心态崩了呀!

之前有很多读者咨询我:武哥,在拼多多上班是一种什么样的体验?由于一直很忙,没抽出时间来和大家分享。上周末特地花点时间来写了一篇文章,跟大家分享一下拼多多的日常。 1. 倒时差的作息 可能很多小伙伴都听说了,拼多多加班很严重。这怎么说呢?作息上确实和其他公司有点区别,大家知道 996,那么自然也就能理解拼多多的“11 11 6”了。 所以当很多小伙伴早上出门时,他们是这样的: 我们是这样的: 当...

相关热词 c# cad插入影像 c#设计思想 c#正则表达式 转换 c#form复制 c#写web c# 柱形图 c# wcf 服务库 c#应用程序管理器 c#数组如何赋值给数组 c#序列化应用目的博客园
立即提问