C语言关于出现错误代码C2040 间接寻址级别不同的问题

这里是小白,在研究数组与指针时发现了问题。
在主函数外进行如下声明后程序正常运行:

#include<stdio.h>
#include<string.h>

char str[30] = "Hello world";
char *ptr = str;

void main()
{}

而修改成如下却报错:

#include<stdio.h>
#include<string.h>

char str[30] = "Hello world";
char *ptr;
ptr = str;

void main()
{}

显示

C2040 “ptr”:“int”与“char *”的间接寻址级别不同

C4047 “初始化”:“int”与“char *”的间接级别不同

定义为int型仍然报类似的错 在VS2017与VC6环境情况相同

将两者放入主函数则都没有问题

新人懂得不多 希望各位能够详细解答 多谢了

3个回答

一般C语言可以在函数体外定义变量并初始化但不能在函数体外对变量单独进行赋值 这里更深的学问涉及到编译问题

pppanyue
pppanyue 谢谢!
一年多之前 回复

这是一个关于在全局区赋值的经典问题

首先,C/C++语言规定,不允许在函数外部有赋值语句,并且允许初始化语句。
第二,这是因为在全局区的赋值语句执行顺序是没有保证的,如果强行编译,则可能因编译加载的文件顺序不同而结果不同。
第三,C/C++语言以及编译器规定,不允许用户在全局区修改静态数据内存空间,因此在全局区的赋值语句是不符合语言规范的。

在C/C++编译的程序占用的内存中,全局变量存储于全局区(static)也叫静态数据内存空间。
其中,初始化的全局变量和静态变量放一块区域,没有初始化的在相邻的另一块区域。


// 声明一个变量,同时分配内存并赋值
char *ptr = str;

// 声明一个变量但不分配内存
char *ptr;

// ptr=str表示分配内存并赋值(在全局区不允许)
ptr=str;

最后,再附一张C/C++的栈空间和堆空间示意图
图片说明

简单来说c语言执行的对象是函数体,任何赋值、计算等操作都要放在具体的函数里才能执行。
放在函数外的全局变量只能是定义或声明或在定义的时候直接初始化掉。
char str[30] = "Hello world";
char *ptr = str;

以上两行是定义全局变量,char *ptr = str; 定义时直接初始化掉没有问题!
char str[30] = "Hello world";
char *ptr;
ptr = str;
以上代码问题就在 ptr = str;这一条语句在函数体外,可以理解成编译的时候无法确定该行代码由谁在何时去执行因此编译报错!

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
C++中“int”与“int *”的间接寻址级别不同

![图片说明](https://img-ask.csdn.net/upload/201608/08/1470665992_281135.png)!![图片说明](https://img-ask.csdn.net/upload/201608/08/1470666039_803873.png) 这个error 是什么问题啊

C语言 间接级别不同(指针和指针函数方面)

出现指针和指针函数级别不同的问题。(初学者,代码比较小白轻喷) 在每一个函数给指针赋值的时候都出现这个问题。 下面是警告内容warning: passing argument 1 of 'creation' from incompatible pointer type 顺便提问一下给指针分配空间的问题,头指针的初始化必须要分配空间么? 因为当我把NULL赋值给头指针后再试图让头指针的next指向链表的时候就会弹出程序停止的问题。如果程序中有发现其他问题也希望一并指出,谢谢各位 ``` #include<stdio.h> #include<stdlib.h> #include<string.h> typedef struct type { int num; char name[20]; int age; char sex[20]; char cla[20]; }elem; typedef struct Node { elem stm; struct Node *next; }node; node *creation(node *n) { n = (node*)malloc(sizeof(node)); n->next = NULL; return n; } node *add(node *n, node *p) { node *s, *ss; s = n; ss = p; while (s->next == ss) { if (s->next != NULL) s = s->next; if (s->next == NULL && ss->next == NULL) s->next = ss; } return s; } int main() { node *p, *head, *n, *pp, *headd, *tot, *tothd, *scan; char str[20]; n = head = headd = tothd = (node*)malloc(sizeof(node)); tot = (node*)malloc(40 * sizeof(node)); tothd->next = tot; p = creation(&p);//赋值的时候有问题 pp = creation(&pp);//赋值的时候有问题 head->next = p; headd->next = pp; printf("The first data num name age sex class(num=-1 to end).\n"); while (scanf("%d", &p->stm.num)&&p->stm.num != -1) { n->next = p; p->next = NULL; p = (node*)malloc(sizeof(node)); scanf("%s", str); strcpy(p->stm.name, str); scanf("%d", &p->stm.age); scanf("%s", str); strcpy(p->stm.sex, str); scanf("%s", str); strcpy(p->stm.cla, str); n = p; } free(n); n = (node*)malloc(sizeof(node)); printf("The second data num name age sex class(num=-1 to end).\n"); while (scanf("%d", &pp->stm.num) && pp->stm.num != -1) { n->next = pp; pp->next = NULL; pp = (node*)malloc(sizeof(node)); scanf("%s", str); strcpy(pp->stm.name, str); scanf("%d", &pp->stm.age); scanf("%s", str); strcpy(pp->stm.sex, str); scanf("%s", str); strcpy(pp->stm.cla, str); n = pp; } p = head->next; pp = headd->next; tot = add(&p, &pp);//赋值的时候有问题 scan = tothd->next; while (scan->next != NULL) { printf("%d ", scan->stm.age); } } ```

C语言间接级别不同怎么更改

#include <stdio.h> #include <stdlib.h> #include <string.h> struct people{ int id; char name[20]; char sex[5]; char title[20];//职称 char post[20];//职务 char course[20]; int score;//评分 }teacher[100]; void insert(){ int _id; printf("Please enter teacher information\n"); printf("id = "); scanf_s("%d",&_id); if(_id > 0 &&_id < 100){ if(teacher[_id].id == _id){ printf("Teacher exist\n"); return; } else{ char _name[20]; char _sex[5]; char _title[20]; char _post[20]; char _course[20]; printf("name = "); scanf_s("%s",&_name); printf("sex = "); scanf_s("%s",&_sex); printf("title = "); scanf_s("%s",&_title); printf("post = "); scanf_s("%s",&_post); printf("course = "); scanf_s("%s",&_course); teacher[_id].id = _id; strcpy_s(teacher[_id].name,_name); strcpy_s(teacher[_id].sex,_sex); strcpy_s(teacher[_id].title,_title); strcpy_s(teacher[_id].post,_post); strcpy_s(teacher[_id].course,_course); printf("Insert successfully\n"); } } else{ printf("Insert failed\n"); } return; } void revise(){ int _id; printf("Please enter teacher id\n"); scanf_s("%d",&_id); if(teacher[_id].id == _id){//教师信息存在 char _name[20]; char _sex[5]; char _title[20]; char _post[20]; char _course[20]; printf("Teacher information is as follows\n"); printf("id = %d ",teacher[_id].id); printf("name = %s ",teacher[_id].name); printf("sex = %s ",teacher[_id].sex); printf("title = %s ",teacher[_id].title); printf("post = %s ",teacher[_id].post); printf("course = %s\n",teacher[_id].course); printf("Please revise teacher information\n"); printf("name = "); scanf_s("%s",_name); printf("sex = "); scanf_s("%s",_sex); printf("title = "); scanf_s("%s",_title); printf("post = "); scanf_s("%s",_post); printf("course = "); scanf_s("%s",_course); strcpy_s(teacher[_id].name,_name); strcpy_s(teacher[_id].sex,_sex); strcpy_s(teacher[_id].title,_title); strcpy_s(teacher[_id].post,_post); strcpy_s(teacher[_id].course,_course); printf("Revise successfully\n"); } else{ printf("Teacher does not exist\n"); } return; } void del(){ int _id; printf("Please enter teacher id\n"); scanf_s("%d",&_id); if(teacher[_id].id == _id){//教师信息存在 memset(&teacher[_id],0,sizeof(teacher[_id])); printf("Delete successfully\n"); } else{ printf("Teacher does not exist\n"); } return; } void browse(){ int _id; printf("Please enter teacher id\n"); scanf_s("%d",&_id); if(teacher[_id].id == _id){//教师信息存在 printf("Teacher information is as follows\n"); printf("id = %d ",teacher[_id].id); printf("name = %s ",teacher[_id].name); printf("sex = %s ",teacher[_id].sex); printf("title = %s ",teacher[_id].title); printf("post = %s ",teacher[_id].post); printf("course = %s\n",teacher[_id].course); printf("score = %d\n",teacher[_id].score); } else{ printf("Teacher does not exist\n"); } return; } void evaluate(){ int _id; int sum = 0; printf("Please enter teacher id\n"); scanf_s("%d",&_id); if(teacher[_id].id == _id){//教师信息存在 if(teacher[_id].score == 0){ int _score; printf("Each item full marks is 10\n"); printf("prepare lessons = ");//备课 scanf_s("%d",&_score); sum += _score; printf("teaching = ");//授课 scanf_s("%d",&_score); sum += _score; printf("style = ");//风格 scanf_s("%d",&_score); sum += _score; printf("homework = ");//作业 scanf_s("%d",&_score); sum += _score; printf("practice = ");//练习 scanf_s("%d",&_score); sum += _score; printf("discipline = ");//纪律 scanf_s("%d",&_score); sum += _score; printf("vivid = ");//生动 scanf_s("%d",&_score); sum += _score; printf("answering question = ");//答疑 scanf_s("%d",&_score); sum += _score; printf("content = ");//内容 scanf_s("%d",&_score); sum += _score; printf("punctual = ");//准时 scanf_s("%d",&_score); sum += _score; teacher[_id].score = sum; } else{ printf("Teacher has been evaluated\n"); return; } printf("Teacher evaluation score is %d\n",sum); } else{ printf("Teacher does not exist\n"); } return; } void Menu(){ int a; printf("**********Menu**********\n"); printf("1.insert\n");//插入 printf("2.revise\n");//修改 printf("3.delete\n");//删除 printf("4.browse\n");//浏览 printf("5.evaluate\n");//评价 printf("6.quit\n");//退出 printf("Please input operation\n"); scanf_s("%d",&a); switch(a){ case 1: insert();break; case 2: revise();break; case 3: del();break; case 4: browse();break; case 5: evaluate();break; case 6: exit(0);break; default: break; } return; } int main(void){ while(1){ Menu(); } return 0; } ![图片说明](https://img-ask.csdn.net/upload/201609/16/1473959367_210127.png)

vs c2100非法的间接寻址,不知道什么问题,求解答谢谢

#include<iostream> #include<map> using namespace std; int main() { multimap<int, int> mp; multimap<int, int>::iterator i; mp.insert(1000000000, 1); int n; cin >> n; while (n--) { int shi, id; cin >> id >> shi; i = mp.lower_bound(shi); cout << id << " "; if (i == mp.begin()) cout << i->second << endl; else { i--; multimap<int, int>::iterator maxi = i; for (; i->first == maxi->first&&i != mp.begin(); i--) { if (i->second > maxi->second) { maxi = i; } } if (i == mp.begin() && i->first == maxi->first&&i->second > maxi->second) { maxi = i; } cout << maxi->second << endl; } mp.insert(shi, id); } return 0; } ``` ``` 严重性 代码 说明 项目 文件 行 禁止显示状态 错误 C2100 非法的间接寻址 Project2 c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.14.26428\include\xtree 1389

指针的指针,报错:非法的间接寻址

如题,在最后两行产生错误:非法的间接寻址 ``` #include<stdio.h> main() { int a[10]; int* p1, * p2; int i; for (i = 0;i < 10;i++) { scanf_s("%d", &a[i]); } p1 = a; p2 = &p1; for (i = 0;i < 10;i++) { if (*(*p2 + i) % 2 == 0) { printf("%5d", *(*p2 + i)); } } ```

怎么将c语言代码转换为java代码

![图片说明](https://img-ask.csdn.net/upload/201902/10/1549808753_362345.png) 怎么转换为java代码。dalao帮忙

让C语言编译器,输出一个字符串,但是代码出错

我用VS2017的C语言编译器,想编译字符串,并且输出,但是代码出现错误,很奇怪。我写的语句应该都是没有问题的,下面是图 ![图片说明](https://img-ask.csdn.net/upload/201909/22/1569135205_656582.png)

c语言编译器问题与学习方法问题

老师,你好。我是大一的一名专科生。我对编程有很大兴趣,想深入学习c语言有关知识。我现在用的编译器是vc++ 6.0在win7上会出现兼容问题,但可以忽略。我下半期准备换电脑按装win8系统,你知道有哪种编译器适合win8系统的吗?我不是计算机有关专业的学生,都是在在自学。初次接触c语言,从书上看到的好多知识点都好突兀,好多地方都弄不明白。现在我已经看了一些关于c语言的基础知识,但每次在编译器上都是去重复别人的程序代码。感觉学习找不到方向,可以给我指导学习c语言的一些方法吗?

c语言读写文件时出现的问题

为什么我我读文件只能出现第一个数据。其他的数据都不会出现。![图片说明](https://img-ask.csdn.net/upload/201609/06/1473176549_597768.png) --------- ![图片说明](https://img-ask.csdn.net/upload/201609/06/1473176569_324374.png) ---------一下是源码 #include<stdio.h> #include<stdlib.h> #define N 30 #include<string.h> struct recipe{ char food[10]; float price; struct recipe *next; }; struct recipe* creat() { int x; int i=0; struct recipe *head,*p,*tail; head=tail=NULL; printf("请输入新添加的菜品数量:"); scanf("%d",&x); for(i=0;i<x;i++){ p=(struct recipe *)malloc(sizeof(struct recipe)); if(p==NULL) { printf("分配内存失败."); exit(1); } p->next=NULL; printf("请输入菜品的名称:"); scanf("%s",p->food); printf("请输入菜品价格:"); scanf("%f",&p->price); if(head==NULL) { head=p; tail=p; } else { tail->next=p; tail=p; } } return head; } void displayRecipe(struct recipe *p) { printf("\t\t菜名--------------------------------价格\n"); while(p!=NULL) { printf("\t\t%s-------------------------------%f\n",p->food,p->price); p=p->next; } } int choosemenu(){ printf("\t\t\t[1]输入新的菜品信息\n"); printf("\t\t\t[2]查看现有菜品信息\t\n"); printf("\t\t\t[3]将现有菜品价格从小到大排序\t\n"); printf("\t\t\t[4]查找现有菜品信息\t\n"); printf("\t\t\t[5]删除现有菜品信息\t\n"); printf("\t\t\t[6]保存修改菜品信息\t\n"); printf("\t\t\t[7]退出菜品信息管理系统\t\n"); printf("\t\t\t[8]读取已有文件信息.\t\n"); printf("\t\t\t[9]清屏。\t\n"); printf("\t\t\t请选择: \n"); return 0; } struct recipe *Newsth(struct recipe *p) { struct recipe *m; if((m=(struct recipe *)malloc(sizeof(struct recipe)))==NULL) { printf("分配内存失败"); exit(1); } printf("请输入新输入的菜品名称:"); scanf("%s",m->food); printf("请输入新输入的菜品价格:"); scanf("%f",&m->price); m->next=p; return m; } struct recipe *sort(struct recipe *b) { struct recipe *p,*pre_min,*min,*first,*tail; first=NULL; while(b->next!=NULL) { for(p=b,min=b;p->next!=NULL;p=p->next) { if((p->next->price)<(min->price)) { pre_min=p;//保留当前所找到最小节点的前驱节点 min=p->next;//保留当前最小节点 } } if(b==min) { b=b->next; } else { pre_min->next=min->next;//将当前最小节点移出链表 } if(first==NULL) { first=min; tail=first; } else { tail->next=min; tail=min; } } if(b->next==NULL) { tail->next=b; tail=b; } return first; } void search(struct recipe *d) { char name[10]; printf("请输入需要查找的菜品名称:"); scanf("%s",name); while(strcmp(d->food,name)!=0) { d=d->next; if(d==NULL){ printf("输入有误,请重新输入.\n"); break;} } if(d!=NULL) printf("你要查找的菜品信息为%s,价格为%f\n",d->food,d->price); } struct recipe *Delete(struct recipe *h) { struct recipe *f,*j,*start; char target[10]; start=h; start->next=h->next; printf("请输入你想要删除的菜品的名称:"); scanf("%s",target); while(strcmp(h->food,target)!=0) { if(h->next->next==NULL) j=h; h=h->next; } if(h->next==NULL) { j->next=NULL; free(h); } else{ strcpy(h->food,h->next->food); h->price=h->next->price; f=h->next; if(h->next->next!=NULL) h->next=h->next->next; else h->next=NULL; free(f); } return start; } void save(struct recipe *g) { FILE *fp; if((fp=fopen("d:\\recipe.txt","w"))==NULL) { printf("无法打开文件.\n"); exit(0); } while(g!=NULL) { fprintf(fp,"\t\t%s\t\t\t%f\n",g->food,g->price); g=g->next; } fclose(fp); } void read(struct recipe *j){ FILE *f; if((f=fopen("d://recipe.txt","r"))==NULL) { printf("无法读取文件.\n"); exit(0); } while(j!=NULL) { fscanf(f,"\t\t%s\t\t\t%f\n",j->food,&j->price); printf("\t\t%s\t\t\t%f\n",j->food,j->price); j=j->next; } fclose(f); } void cls() { system("cls"); } void main(){ int n=0; struct recipe *head=NULL; printf("--------------------欢迎进入订餐管理系统--------------------------\n"); printf("-------首次进入请确认你已写好菜品信息--------\n"); head=creat(); system("cls"); while(n!=7){ choosemenu(); scanf("%d",&n); switch(n){ case 1:head=Newsth(head); break; case 2:displayRecipe(head); break; case 3:head=sort(head); break; case 4:search(head); break; case 5:head=Delete(head); break; case 6:save(head); break; case 7:printf("Thanks for your use!\n\n\n\n"); break; case 8:read(head); break; case 9:cls(); break; default:choosemenu(); printf("输入有误,请重新输入.\n"); } } system("pause"); }

C语言代码,段错误,看不出为什么错

题目表述: 对于给定的一个字符串,统计其中数字字符出现的次数。 错误描述: 编译器提示段错误 但是没找出为什么会发生段错误 ``` # include<stdio.h> # include<string.h> int main() { int i,n,len,num; char *ch; scanf("%d",&n); while(n--) { num=0; scanf("%s",ch); len=strlen(ch); for(i=0;i<len;i++) { if(ch[i]>='0'&&ch[i]<='9') num++; } printf("%d\n",num); } return 0; } ```

C语言程序代码错误,找不出哪里错了(小白求解)

#include<stdio.h>int main( ){char sex,sports,diet;double faHeight,moHeight,a,b,myHeight,Height1,Height2;a=0.54;b= 0.923;printf("输入你的性别\n");scanf("%c",&sex);printf("是否喜爱体育锻炼\n"); scanf("%c",&sports);printf("是否有良好的饮食习惯\n"); scanf("%c",&diet);if(sex=='F')//判断性别的if; {if(sports=='Y')// 判断运动情况的if; {Height1=(((faHeight*a+moHeight)/2)*0.02);}//爱运动的增长 else{Height1=0;}//不爱运动 if(diet=='Y')//判断饮食习惯的if; {Height2=(((faHeight*a+moHeight)/2)*0.015);}//有好的饮食习惯的增长 else{Height2=0;} //没有好的饮食习惯 myHeight=(faHeight+moHeight)*0.54+Height2+Height1;}else({ if(sports=='Y') {Height1=(((faHeight+moHeight)*0.54)*0.02);}//爱运动的增长 else{Height1=0;}//不爱运动 if(diet=='Y')//判断饮食习惯的if; {Height2=(((faHeight+moHeight)*0.54)*0.015);}//有好的饮食习惯的增长 else{Height2=0;} //没有好的饮食习惯 myHeight=(faHeight*0.923+moHeight)/2+Height2+Height1; printf("%f",myHeight); myHeight=(faHeight*0.923+moHeight)/2+Height2+Height1;}printf("%f",myHeight);return 0;}![图片](https://img-ask.csdn.net/upload/201610/24/1477318323_210399.jpg)

C语言 关于pow函数问题

今天有人问我个问题,解方程A^5+B^5+C^5+D^5+E^5=F^5 满足条件0<=A<=B<=C<=D<=E<=F<=75 下面是我的代码: #include<stdio.h> #include<math.h> main() { int a,b,c,d,e,f; for(f=75; f>0; f--) { for(e=1; e<=f; e++) { for(d=1; d<=e; d++) { for(c=1; c<=d; c++) { for(b=1; b<=c; b++) { for(a=1; a<=b; a++) { if(pow(a,5)+pow(b,5)+pow(c,5)+pow(d,5)+pow(e,5)==pow(f,5)) { printf("A=%d,B=%d,C=%d,D=%d,E=%d,F=%d\n",a,b,c,d,e,f); } } } } } } } } 我用的wintc2.0 运行没有问题,但是我把代码给他在codeblocks下运行就没有结果,debug了一下发现没有进if条件。C语言自打出了校门就没用过,有没有大神知道什么原因。

C语言代码如何转换为python代码?linux和windows的操作分别是什么?

如题,最近在做大作业,怎样将一段C语言代码转换为python代码,,,急急急,在线等。。

C语言问题,出现了很多烫

#include <stdio.h> int main(void) { char ch; scanf_s("%c",&ch); while (ch != 'g') { printf("%c",ch); scanf_s("%c",&ch); } return 0; } 一按回车就出现满屏幕的烫字

C语言 关于打印空心三角形的问题 求代码改正?

问题是这样的: ![图片说明](https://img-ask.csdn.net/upload/201810/11/1539189819_793889.png) 我的代码主体: ``` char a[100]; int m, n, k, i, j; scanf("%d", &n); for(k = 0; k < n + 2; k++) { m = 0; scanf("%c %d", &a[k], &m); for(i = 1; i <= m; i++) { for(j = 1; j <= 2 * m - 1; j++) { if(i + j < m + 1 && i < m) printf(" "); if(i + j == m + 1 && i < m) printf("%c", a[k]); if(j > m && j == i + m - 1 && i < m) printf("%c", a[k]); if(m + 1 < i + j && 1 < i && i < m && j - i < m - 1 && i < m) printf(" "); if(i == m) printf("%c", a[k]); } printf("\n"); } printf("\n"); } ``` 现在问题是 一 n+2时才可以输入两行的数据,而输入2后只输入一组便结束了 二 输入数据的那一行与输出三角形的第一行之间有多余空行,怎么删去? PS 并不要求所有数据输入完后再一并全部输出,一一对应即可

求c语言大师解答问题。哪里出错了?为什么始终无法打印出水仙花数呢。求c语言大师告知那里代码出问题了。

求c语言大师解答问题。哪里出错了?为什么始终无法打印出水仙花数呢。求c语言大师告知那里代码出问题了。![图片](https://img-ask.csdn.net/upload/201701/18/1484726376_805604.jpg)

c语言代码进行除法运算

1,c语言代码进行除法运算时如何控制商不能为0的情况? 2,怎样在进行除法运算时,输出更精确的结果?

c语言初学者代码纠错,韩信点兵问题。

#include <stdio.h> int main() { int n,a,b,c; scanf("%d%d%d",&a,&b,&c); if((n>=10)&&(n<=100)&&(n%3==a)&&(n%5==b)&&(n%7==c)) printf("%d",n); return 0; }

elgamal数字签名算法代码c语言实现可以给我代码吗?

c语言代码,自己写不出这么长的代码,手里有资源的可以发给我一下吗

学Python后到底能干什么?网友:我太难了

感觉全世界营销文都在推Python,但是找不到工作的话,又有哪个机构会站出来给我推荐工作? 笔者冷静分析多方数据,想跟大家说:关于超越老牌霸主Java,过去几年间Python一直都被寄予厚望。但是事实是虽然上升趋势,但是国内环境下,一时间是无法马上就超越Java的,也可以换句话说:超越Java只是时间问题罢。 太嚣张了会Python的人!找工作拿高薪这么简单? https://edu....

大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了

大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

为什么程序猿都不愿意去外包?

分享外包的组织架构,盈利模式,亲身经历,以及根据一些外包朋友的反馈,写了这篇文章 ,希望对正在找工作的老铁有所帮助

Java校招入职华为,半年后我跑路了

何来 我,一个双非本科弟弟,有幸在 19 届的秋招中得到前东家华为(以下简称 hw)的赏识,当时秋招签订就业协议,说是入了某 java bg,之后一系列组织架构调整原因等等让人无法理解的神操作,最终毕业前夕,被通知调往其他 bg 做嵌入式开发(纯 C 语言)。 由于已至于校招末尾,之前拿到的其他 offer 又无法再收回,一时感到无力回天,只得默默接受。 毕业后,直接入职开始了嵌入式苦旅,由于从未...

这些插件太强了,Chrome 必装!尤其程序员!

推荐 10 款我自己珍藏的 Chrome 浏览器插件

@程序员:GitHub这个项目快薅羊毛

今天下午在朋友圈看到很多人都在发github的羊毛,一时没明白是怎么回事。 后来上百度搜索了一下,原来真有这回事,毕竟资源主义的羊毛不少啊,1000刀刷爆了朋友圈!不知道你们的朋友圈有没有看到类似的消息。 这到底是啥情况? 微软开发者平台GitHub 的一个区块链项目 Handshake ,搞了一个招募新会员的活动,面向GitHub 上前 25万名开发者派送 4,246.99 HNS币,大约价...

用python打开电脑摄像头,并把图像传回qq邮箱【Pyinstaller打包】

前言: 如何悄悄的打开朋友的摄像头,看看她最近过的怎么样,嘿嘿!这次让我带你们来实现这个功能。 注: 这个程序仅限在朋友之间开玩笑,别去搞什么违法的事情哦。 代码 发送邮件 使用python内置的email模块即可完成。导入相应的代码封装为一个send函数,顺便导入需要导入的包 注: 下面的代码有三处要修改的地方,两处写的qq邮箱地址,还有一处写的qq邮箱授权码,不知道qq邮箱授权码的可以去百度一...

做了5年运维,靠着这份监控知识体系,我从3K变成了40K

从来没讲过运维,因为我觉得运维这种东西不需要太多的知识面,然后我一个做了运维朋友告诉我大错特错,他就是从3K的运维一步步到40K的,甚至笑着说:我现在感觉自己什么都能做。 既然讲,就讲最重要的吧。 监控是整个运维乃至整个产品生命周期中最重要的一环,事前及时预警发现故障,事后提供详实的数据用于追查定位问题。目前业界有很多不错的开源产品可供选择。选择一款开源的监控系统,是一个省时省力、效率最高的方...

我以为我学懂了数据结构,直到看了这个导图才发现,我错了

数据结构与算法思维导图

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

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

Linux系统的最常用命令你了解多少呢?

Linux系统的最常用命令第一组 用户管理类命令1.添加用户2.修改密码3.删除用户4.切换用户5.添加用户组6.删除用户组第二组 文件与目录类命令1.查看目录2.改变工作目录3.复制文件、目录4.移动或改名5.删除文件、目录6.改变文件权限7.创建目录8.新建文件9.查看目录大小10.查看当前路径第三组 压缩打包类命令压缩解压1.压缩解压--gzip2.压缩解压--bzip23.压缩解压--ta

和黑客斗争的 6 天!

互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找 Sql 注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都...

讲一个程序员如何副业月赚三万的真实故事

loonggg读完需要3分钟速读仅需 1 分钟大家好,我是你们的校长。我之前讲过,这年头,只要肯动脑,肯行动,程序员凭借自己的技术,赚钱的方式还是有很多种的。仅仅靠在公司出卖自己的劳动时...

win10暴力查看wifi密码

刚才邻居打了个电话说:喂小灰,你家wifi的密码是多少,我怎么连不上了。 我。。。 我也忘了哎,就找到了一个好办法,分享给大家: 第一种情况:已经连接上的wifi,怎么知道密码? 打开:控制面板\网络和 Internet\网络连接 然后右击wifi连接的无线网卡,选择状态 然后像下图一样: 第二种情况:前提是我不知道啊,但是我以前知道密码。 此时可以利用dos命令了 1、利用netsh wlan...

上班一个月,后悔当初着急入职的选择了

最近有个老铁,告诉我说,上班一个月,后悔当初着急入职现在公司了。他之前在美图做手机研发,今年美图那边今年也有一波组织优化调整,他是其中一个,在协商离职后,当时捉急找工作上班,因为有房贷供着,不能没有收入来源。所以匆忙选了一家公司,实际上是一个大型外包公司,主要派遣给其他手机厂商做外包项目。**当时承诺待遇还不错,所以就立马入职去上班了。但是后面入职后,发现薪酬待遇这块并不是HR所说那样,那个HR自...

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

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

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

带了6个月的徒弟当了面试官,而身为高级工程师的我天天修Bug......

即将毕业的应届毕业生一枚,现在只拿到了两家offer,但最近听到一些消息,其中一个offer,我这个组据说客户很少,很有可能整组被裁掉。 想问大家: 如果我刚入职这个组就被裁了怎么办呢? 大家都是什么时候知道自己要被裁了的? 面试软技能指导: BQ/Project/Resume 试听内容: 除了刷题,还有哪些技能是拿到offer不可或缺的要素 如何提升面试软实力:简历, 行为面试,沟通能...

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

2020阿里全球数学大赛:3万名高手、4道题、2天2夜未交卷

阿里巴巴全球数学竞赛( Alibaba Global Mathematics Competition)由马云发起,由中国科学技术协会、阿里巴巴基金会、阿里巴巴达摩院共同举办。大赛不设报名门槛,全世界爱好数学的人都可参与,不论是否出身数学专业、是否投身数学研究。 2020年阿里巴巴达摩院邀请北京大学、剑桥大学、浙江大学等高校的顶尖数学教师组建了出题组。中科院院士、美国艺术与科学院院士、北京国际数学...

HTTP与HTTPS的区别

面试官问HTTP与HTTPS的区别,我这样回答让他竖起大拇指!

程序员毕业去大公司好还是小公司好?

虽然大公司并不是人人都能进,但我仍建议还未毕业的同学,尽力地通过校招向大公司挤,但凡挤进去,你这一生会容易很多。 大公司哪里好?没能进大公司怎么办?答案都在这里了,记得帮我点赞哦。 目录: 技术氛围 内部晋升与跳槽 啥也没学会,公司倒闭了? 不同的人脉圈,注定会有不同的结果 没能去大厂怎么办? 一、技术氛围 纵观整个程序员技术领域,哪个在行业有所名气的大牛,不是在大厂? 而且众所...

男生更看重女生的身材脸蛋,还是思想?

往往,我们看不进去大段大段的逻辑。深刻的哲理,往往短而精悍,一阵见血。问:产品经理挺漂亮的,有点心动,但不知道合不合得来。男生更看重女生的身材脸蛋,还是...

程序员为什么千万不要瞎努力?

本文作者用对比非常鲜明的两个开发团队的故事,讲解了敏捷开发之道 —— 如果你的团队缺乏统一标准的环境,那么即使勤劳努力,不仅会极其耗时而且成果甚微,使用...

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

当HR压你价,说你只值7K,你该怎么回答?

当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫。 礼貌地说:“7K是吗?了解了。嗯~其实我对贵司的面试官印象很好。只不过,现在我的手头上已经有一份11K的offer。来面试,主要也是自己对贵司挺有兴趣的,所以过来看看……”(未完) 这段话主要是陪HR互诈的同时,从公司兴趣,公司职员印象上,都给予对方正面的肯定,既能提升HR的好感度,又能让谈判气氛融洽,为后面的发挥留足空间。...

面试:第十六章:Java中级开发(16k)

HashMap底层实现原理,红黑树,B+树,B树的结构原理 Spring的AOP和IOC是什么?它们常见的使用场景有哪些?Spring事务,事务的属性,传播行为,数据库隔离级别 Spring和SpringMVC,MyBatis以及SpringBoot的注解分别有哪些?SpringMVC的工作原理,SpringBoot框架的优点,MyBatis框架的优点 SpringCould组件有哪些,他们...

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

立即提问
相关内容推荐