typedef struct LNode *List是什么意思啊?

typedef struct LNode *List;
struct LNode{
ElementType Data[MAXSIZE];
int Last;
};
struct LNode L;

List PtrL;

这段代码什么意思啊第一行应该是更名 把LNode改为*List 可是*是什么意思啊;
第二个问题是下面用的是List PtrL List和*List是怎么回事

2个回答

将LNode* 用List 代替 list ptrl 就相当于 LNode* ptrl

qq_36952125
华丽的谎言524 更名的时候不是LNode(空格)* List吗是下面所有定义List的变量都是指针变量吗
大约 3 年之前 回复

很简单,typedef是定义一个类型,定义的类型叫做List(注意他现在是一个类型,和int char char*一样)
这是一个什么类型那? 这是一个结构体指针类型,这种类型的变量都指向LNode结构;
List PtrL;就是根据结构体指针类型,定义一个结构体指针变量
typedef struct LNode* List; 是归前面的,这样就看懂了吧 List就代表 struct LNode 类型

weixin_45542080
weixin_45542080 回复zzcxxoo: 只是两种不同的写法,性质是一样的
2 个月之前 回复
qq_41320429
zzcxxoo 浙大教材的*是写在List前面的,不是LNode后面
8 个月之前 回复
qq_40608827
Togetit 感谢
11 个月之前 回复
ZOSHA
ZOSHA 是L代表结构体类型吧?List代表结构指针类型。对不对?
12 个月之前 回复
saodilaoshu
六饼嫖鼠 最后一行的*都打不出来
大约 3 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
这是 一个关于数据结构的链表问题

``` #include<iostream> #include<conio.h> #include<string.h> #define OK 1 #define MAXSIZE 100 using namespace std; typedef int Status; typedef struct { char name[5]; float price; }Book; typedef Book ElemType; typedef struct LNode { ElemType data; struct LNode *next; }LNode,*LinkList; LNode *A; Status InitList(LNode *L) { L=new LNode; if(!L) exit(-1); else (*L).next=NULL; return OK; } int main() { LNode *L; InitList(*L); cout<<L; getch(); return 0; } ``` 这是我写的完整代码,就是生成了链表结点,还有初始化链表。 其中, ![图片说明](https://img-ask.csdn.net/upload/201912/22/1576944898_291707.png) 划线部分,两个参数我写的一样的,因为形参和实参要一致 但是却报错 --------------------Configuration: 线性表 - Win32 Debug-------------------- Compiling... 线性表.cpp E:\数据结构\线性表.cpp(45) : error C2664: 'InitList' : cannot convert parameter 1 from 'struct LNode' to 'struct LNode *' No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called Error executing cl.exe. 线性表.exe - 1 error(s), 0 warning(s) 为甚么呢?

typedef struct的运用

问题:struct LNode *s,*q;下面代码中的这条语句中的struct是不是可以去掉,如果不行那么struct的作用是?谢谢! typedef char ElemType; typedef struct LNode { ElemType data; struct LNode * next; }LNode,*LinkList; void InsertList(LinkList &L,ElemType x,int i) { int j=1; struct LNode *s,*q; s=new LNode; s->data=x; q=L; if(i==1) { s->next=q; L=s; } else { while(j<i-1&&q->next!=null) { q=q->next; j++; } if(j==i-1) { s->next=q->next; q->next=s; } else cout<<"wrong"<<endl; } } void main() { LA=NULL; int len=0; InsertList(LA,'a',1); InsertList(LA,'B',2); InsertList(LA,'C',2); len=ListLength(LA); }

关于c语言二叉树的问题,求大神解答,急

这是一段关于二叉树的代码。*list_from_tree这个函数是用来建立二叉树的,但我不太懂它是如何建立二叉树的,求大神详细解释。 #include <stdio.h> #include <stdlib.h> typedef struct tnode Tnode; struct tnode{ Tnode *left; Tnode *right; int data; }; Tnode *new_tnode(int data); void print_tree(Tnode *tree, int depth); void free_tree(Tnode *tree); typedef struct lnode Lnode; struct lnode{ Lnode *next; int data; }; Lnode *new_node(int data); void print_list(Lnode *list); void free_list(Lnode *list); Lnode *list_from_tree(Tnode *root, Lnode *list); int main(int argc, char *argv[]){ Tnode *root = new_tnode(6); root->left = new_tnode(5); root->right = new_tnode(8); root->right->left = new_tnode(7); root->right->right = new_tnode(9); Lnode *list = list_from_tree(root, NULL); print_tree(root, 0); printf("\n"); print_list(list); free_list(list); free_tree(root); return EXIT_SUCCESS; } Lnode *new_node(int data){ Lnode *new = malloc(sizeof(Lnode)); new->next = NULL; new->data = data; return new; } Tnode *new_tnode(int data){ Tnode *new = malloc(sizeof(Tnode)); new->left = NULL; new->right = NULL; new->data = data; return new; } void print_tree(Tnode *tree, int depth){ if(tree != NULL){ printf("("); print_tree(tree->left, depth+1); if(tree->left == NULL){ printf("x"); } printf("<-"); printf("%d", tree->data); printf("->"); if(tree->right == NULL){ printf("x"); } print_tree(tree->right, depth+1); printf(")"); } } void print_list(Lnode *list){ Lnode *curr = list; while(curr != NULL){ printf("%d -> ", curr->data); curr = curr->next; } printf("x\n"); } void free_tree(Tnode *tree){ if(tree != NULL){ free_tree(tree->left); free_tree(tree->right); free(tree); } } void free_list(Lnode *list){ Lnode *curr = list; Lnode *tmp; while(curr != NULL){ tmp = curr; curr = curr->next; free(tmp); } } Lnode *list_from_tree(Tnode *root, Lnode *list){ if(root == NULL){ return list; } Lnode *right = list_from_tree(root->right, list); Lnode *new = new_node(root->data); new->next = right; Lnode *left = list_from_tree(root->left, new); return left; }

C语言单链表初始化问题

通过了编译但是在向单链表里输入第二个数字的时候,程序出错并中止。 跪求大佬解答。 ``` #include <stdio.h> #include <stdlib.h> typedef int Elemtype; typedef struct LNode { Elemtype data; struct LNode *next; }LNode,*LinkList; void createlist(LinkList head,int n) { int i; LinkList p2; head=(LinkList)malloc(sizeof(LNode)); for( i=0;i<=n;i++) { p2=(LinkList)malloc(sizeof(LNode)); //开辟新结点 p2=p2->next; //连上新结点 } } void iolist(LinkList head,int n) { int i; LinkList p; p=head->next; for(i=0;i scanf("%d",&p->data); p=p->next; } for(i=0;i printf("%d\n",p->data); p=p->next; } } int main() { int n; printf("n="); scanf("%d",&n); LinkList head; createlist(head,n); iolist(head,n); return 0; } ```

不能将 "ElemType" 类型的值分配到 "Linklist" 类型的实体 解释尽可能详细些

#include<iostream> using namespace std; typedef int ElemType; typedef struct LNode { ElemType data; //结点的数据域 struct LNode *next; //结点的指针域 }LNode; typedef struct LNode* Linklist; int InitList(Linklist &L) { L = new LNode; L->next = NULL; Linklist p; p = new LNode; return 0; } int GetElem(Linklist L, int i, ElemType &e) { int j; Linklist p; p = L->data; //这里报错 j = 1; while (p && j < i) { p = p->data; //这里也报错 ++j; } if (!p || j > i)return false; e = p->data; return true; }

建立单链表后,(尾插法)主函数调用链表函数却没输出为什么?

#include<iostream> using namespace std; typedef struct LNode { int data; struct LNode *next; }LNode; void creatLinkListR(LNode *&head) { head = (LNode*)malloc(sizeof(LNode)); head->next = NULL; LNode *p = NULL; LNode *r = head; cout << "Please input the length of LinkList you wanna built :" << endl; int n; cin >> n; for (int i = 0; i < n; ++i) { p = (LNode*)malloc(sizeof(LNode)); p ->next= NULL; cout << "Please intput p->data" << endl; cin >> p->data; p->next = r->next; r->next = p->next; r = p; } r->next = NULL; } int main() { LNode *head=(LNode*)malloc(sizeof(LNode)); head = NULL; creatLinkListR(*&head); LNode *p = head->next; while (p != NULL) { cout << p->data << " "; p = p->next; } cout << endl; return 0; }

数据结构 链表的创建 不知道怎么改

#include <stdio.h> #include <malloc.h> #include <stdlib.h> typedef struct Node //创建新的数据类型 { int data; //数据域 struct Node * pNext; //指针域 }NODE, *PNODE; //NODE等价与struct Node //PNODE等价于struct Node * //函数声明 PNODE create_list(); void traverse_list(NODE pHead); int main() { PNODE pHead = NULL; pHead = create_list(); //create_lsit()功能:创建一个非循环单链表,并将该链表的头结点的地址付给pHead traverse_list(pHead); return 0; } PNODE create_list() { int len; //用来存放有效节点的个数 int i; int val; //用来临时存放用户输入的结点的值 PNODE pHead = (PNODE)malloc(sizeof(NODE)); pHead->pNext = NULL; if (NULL == pHead) { printf("内存分配失败,程序终止!"); exit(-1); } printf("请输入您需要生成的链表节点个数:len = "); scanf("%d", &len); for (i=0; i<len; i++) { printf("请输入第%d个结点的数据:", i+1); scanf("%d", &val); PNODE pNew = (PNODE)malloc(sizeof(NODE)); if (NULL == pHead) { printf("内存分配失败,程序终止!"); exit(-1); } pNew->data = val; pNew->pNext = pHead->pNext; pHead->pNext = pNew; } return pHead; } void traverse_list(PNODE pHead) { PNODE p = pHead->pNext; while(p) { printf("%d ", p->data); p = p->pNext; } } -------------------------------------------------------------------------------------- G:\编程\数据结构\源代码\List.cpp(20) : error C2664: 'traverse_list' : cannot convert parameter 1 from 'struct Node *' to 'struct Node' --------------------------------------------------------------------------------------

c语言“结构体”一直报错

按照网课输入下列代码,一直报错。 看起来应该是 结构体 部分有错 但是网课的代码就这么写的…… 求问大家怎么修改! #include<stdio.h> typedef struct Lnode *List; struct Lnode{ int a[100]; int length; }; int sequentialSearch(list tb1,int k); int main(void) { int n,key; int a[100]; scanf("%d",&n); for(int i = 0 ; i < n ; i++) scanf("%d",&a[i]); scanf("%d",&key); printf("%d "sequentialSearch(a,key)); } int sequentialSearch(list tb1,int k){ int i; tb1->a[0] = k; for(i = tb1->length; &&tb1->a[i] != k;i--) ; return i; } ``` ``` ![图片说明](https://img-ask.csdn.net/upload/201807/05/1530800128_17387.png)

C语言typedef声明问题

请问为什么第一种声明编译是通不过错的,第二种是正确的。 第一种: typedef Node *List;//两者仅第一句不同 typedef struct LNode { int Data[40]; struct LNode * Last; } Node ; 第二种: typedef struct LNode *List; typedef struct LNode { int Data[40]; struct LNode * Last; } Node ;

这是数据结构一个链表初始化问题

``` #include<iostream> #include<conio.h> #include<string.h> #define OK 1 #define MAXSIZE 100 using namespace std; typedef int Status; #define OK 1 typedef struct { char name[5]; float price; }Book; typedef struct LNode { Book Elem; LNode *next; }LNode,*List; Status InitList(LNode *L) { L=new LNode(); if(!L) exit(-1); else L->next=NULL; return OK; } int main() { LNode *L; List LL; InitList(L); cout<<L->next; getch(); return 0; } ``` 为什么输出L->next的值不为NULL,反而溢出呢?

链表的每一个结点都含有一个指针吗

#include <iostream.h> #include <stdlib.h> # define null 0 typedef char ElemType; /* 字符型数据*/ typedef struct LNode { ElemType data; struct LNode *next; }LNode, *LinkList; void InsertList(LinkList &L,ElemType x,int i) { int j=1; struct LNode *s,*q; s=(struct LNode *)malloc(sizeof(struct LNode)); s->data=x; q=L; if(i==1) { s->next=q; L=s; } else { while(j<i-1&&q->next!=null) { q=q->next; j++; } if(j==i-1) { s->next=q->next; q->next=s; } else cout<<"位置参数不正确!"<<endl; } } 提问:为什么从头到尾都是只通过改变p指针的地址?

新手小白问一下为什么我的链表打印不出来

#include<iostream> #include<stdlib.h> using namespace std; #define LIST_INIT_SIZE 100 #define LISTINCREMENT 10 #define Status int #define ElemType int #define OK 1 #define INFEASIBLE -1 typedef struct LNode{ ElemType data; struct LNode*next; }LNode,*LinkList; Status Create(LNode*phead,int length); Status Put(LNode*phead); void main() { LNode*head; Create(head,3); Put(head); } Status Create(LNode*phead,int length) { LNode*pnew; phead=NULL; for(int i=0;i<length;i++) { pnew=(LNode*)malloc(sizeof(LNode)); scanf("%d",&pnew->data); if(phead==NULL) { phead=pnew; pnew=pnew->next; } else pnew=pnew->next; } pnew=NULL; return OK; } Status Put(LNode*&phead) { LNode*pcur; for(pcur=phead;pcur!=NULL;pcur=pcur->next) printf("%d",pcur->data); return OK; }

c语言编写了个链表,但无法正确的输出,求大神指导

链表方面一直不是特别清楚。自己编了个链表,但却无法正确输出,求大神帮忙 #include<stdio.h> #include<stdlib.h> typedef struct lnode Lnode; struct lnode { int data; Lnode *next; }; Lnode *makeNode(int data) { Lnode *new_node=(Lnode *)malloc(sizeof(Lnode)); if(new_node==NULL) { printf("error"); exit(1); } else { new_node->data=data; new_node->next=NULL; } return(new_node); } Lnode *insert(Lnode *new_node,Lnode *head) { Lnode *pre_node=NULL; if(pre_node==NULL) { head=new_node; pre_node=head; } else { pre_node->next=new_node; pre_node=pre_node->next; } return(head); } void printlist(Lnode *head) { Lnode *node=head; while(node!=NULL) { printf("%c",node->data); node = node->next; } printf("\n"); } int main() { Lnode *list=NULL; Lnode *node; int ch; while(ch=getchar()!=EOF) { if(ch=='\n') { printlist(list); } else { list=insert(makeNode(ch),list); } } return 0; }

链表一遇到OutPut函数程序就停止运行

初学《数据结构与算法》链表,不知道代码哪里有问题,代码编译和运行都没有问题,但是一遇到OutPut函数程序就停止运行了,选取了一部分代码,求大神解决。 ``` #include<stdio.h> #include<stdlib.h> typedef int ElemType; typedef int Status; typedef struct lnode { ElemType data; struct lnode*next; }LNode; void CreateList(LNode*L,int n) { int i; LNode*p; L=malloc(sizeof(LNode)); L->next=NULL; printf("请连续输入%d个元素:",n); for(i=n;i>0;i--) { p=malloc(sizeof(LNode)); scanf("%d",&p->data); p->next=L->next; L->next=p; } }//逆位序建表 void OutPut(LNode*L) { LNode *p=L->next; if(L->next==NULL) printf("该链表为空!"); else { while(p) { printf("%d\t",p->data); p=p->next; } } } void main() { LNode la; int length; printf("请输入链表la长度:"); scanf("%d",&length); CreateList(&la,length); printf("该链表的元素有:"); OutPut(&la); } ``` ![图片说明](https://img-ask.csdn.net/upload/202005/12/1589296144_91935.png)

链表的数据域不能存放string型吗?

像这样写输入数据时就会报异常: 0xC0000005如果注释掉string,只是输入int型就可以执行,哪有问题呢?? ``` typedef struct Lnode { string numID; /*int numTest; int numSeat;*/ struct Lnode *next; }Lnode; void createLnode(Lnode *&head) { head = (Lnode*)malloc(sizeof(Lnode)); head->next = NULL; Lnode *p = NULL;//p指向头结点 int n; cin >> n; for(int i=0;i<n;i++) { p = (Lnode*)malloc(sizeof(Lnode)); cin >> p->numID>> p->numTest >> p->numSeat; p->next = NULL; p->next = head->next; head->next = p; } } int main() { Lnode *a; createLnode(a); system("pause"); return 0; ```

这是一个关于数据结构的链表问题

``` #include<iostream> #include<conio.h> #include<string.h> #define OK 1 #define MAXSIZE 100 using namespace std; typedef int Status; #define OK 1 typedef struct { char name[5]; float price; }Book; typedef struct LNode { Book Elem; LNode *next; }LNode,*List; Status InitList(List L) { L=new LNode(); if(!L) exit(-1); else (*L).next=NULL; return OK; } int main() { LNode L; List LL; InitList(LL); cout<<(*LL).next; getch(); return 0; } ``` 请问初始化后,为何溢出呢?

链表一直不太会,求大神解答(c语言)

这是我写的链表程序,然而编译都过不了,找不到错,很惭愧。。。 求大神解答 然后我还想知道我写的程序的基本思路是对的吗? #include<stdio.h> #include<stdlib.h> typedef struct lnode Lnode; struct Lnode { int data; Lnode *next; } Lnode * makeNode(int data) { Lnode *new_node=(Lnode *)malloc(sizeof(Lnode)); if(new_node=Null) { printf("error"); exit(1); } else { new_node->data=data; new_node->next=NULL; } return(new_node); } Lnode *insert(Lnode *new_node,Lnode *head) { if(head==NULL) { head=new_node; } else { head->next=new_node; } return(head); } void printlist(Lnode *head) { Lnode *node=head; while(node!=NULL) { printf("->%d",node->data); node=node->next; } printf("\n"); } int main() { Lnode *list=NULL; Lnode *node=head; int ch,i; while(ch=getchar()!=EOF) { if(ch=='\n') { printlist(list); } else { list=insert(makenode(ch),list); } } printflist(list); return 0; }

为什么程序(二分查找)无法运行?

#include<stdio.h> #include<stdlib.h> #define MAXSIZE 100 typedef int ElementType; typedef int Position; typedef struct LNode *List; struct LNode{ ElementType Data[MAXSIZE]; Position Last; }; Position BS(List L, ElementType x, Position Left, Position Right) { if (Left>Right) return -1; int mid; mid=(Left + Right)/2; if(L->Data[mid] > x) return BS(L, x, Left, mid-1); else if(L->Data[mid] < x) return BS(L, x, mid+1, Right); else if (L->Data[mid] == x) return mid; } Position BinarySearch(List L, ElementType X) { return BS(L, X, 1, L->Last); } int main() { struct LNode *L; int i=1, x; L=malloc(sizeof(struct LNode)); L->Last=1; do{ scanf("%d", L->Data[i]); i++; L->Last++; }while(L->Data[i]!='\n'); scanf("%d",&x); printf("%d",BinarySearch(L, x)); return 0; }

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

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

程序员请照顾好自己,周末病魔差点一套带走我。

程序员在一个周末的时间,得了重病,差点当场去世,还好及时挽救回来了。

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

数据结构与算法思维导图

String s = new String(" a ") 到底产生几个对象?

老生常谈的一个梗,到2020了还在争论,你们一天天的,哎哎哎,我不是针对你一个,我是说在座的各位都是人才! 上图红色的这3个箭头,对于通过new产生一个字符串(”宜春”)时,会先去常量池中查找是否已经有了”宜春”对象,如果没有则在常量池中创建一个此字符串对象,然后堆中再创建一个常量池中此”宜春”对象的拷贝对象。 也就是说准确答案是产生了一个或两个对象,如果常量池中原来没有 ”宜春” ,就是两个。...

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

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

Linux面试题(2020最新版)

文章目录Linux 概述什么是LinuxUnix和Linux有什么区别?什么是 Linux 内核?Linux的基本组件是什么?Linux 的体系结构BASH和DOS之间的基本区别是什么?Linux 开机启动过程?Linux系统缺省的运行级别?Linux 使用的进程间通信方式?Linux 有哪些系统日志文件?Linux系统安装多个桌面环境有帮助吗?什么是交换空间?什么是root帐户什么是LILO?什...

将一个接口响应时间从2s优化到 200ms以内的一个案例

一、背景 在开发联调阶段发现一个接口的响应时间特别长,经常超时,囧… 本文讲讲是如何定位到性能瓶颈以及修改的思路,将该接口从 2 s 左右优化到 200ms 以内 。 二、步骤 2.1 定位 定位性能瓶颈有两个思路,一个是通过工具去监控,一个是通过经验去猜想。 2.1.1 工具监控 就工具而言,推荐使用 arthas ,用到的是 trace 命令 具体安装步骤很简单,大家自行研究。 我的使用步骤是...

学历低,无法胜任工作,大佬告诉你应该怎么做

微信上收到一位读者小涛的留言,大致的意思是自己只有高中学历,经过培训后找到了一份工作,但很难胜任,考虑要不要辞职找一份他能力可以胜任的实习工作。下面是他留言的一部分内容: 二哥,我是 2016 年高中毕业的,考上了大学但没去成,主要是因为当时家里经济条件不太允许。 打工了三年后想学一门技术,就去培训了。培训的学校比较垃圾,现在非常后悔没去正规一点的机构培训。 去年 11 月份来北京找到了一份工...

JVM内存结构和Java内存模型别再傻傻分不清了

JVM内存结构和Java内存模型都是面试的热点问题,名字看感觉都差不多,网上有些博客也都把这两个概念混着用,实际上他们之间差别还是挺大的。 通俗点说,JVM内存结构是与JVM的内部存储结构相关,而Java内存模型是与多线程编程相关,本文针对这两个总是被混用的概念展开讲解。 JVM内存结构 JVM构成 说到JVM内存结构,就不会只是说内存结构的5个分区,而是会延展到整个JVM相关的问题,所以先了解下

和黑客斗争的 6 天!

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

Google 与微软的浏览器之争

浏览器再现“神仙打架”。整理 | 屠敏头图 | CSDN 下载自东方 IC出品 | CSDN(ID:CSDNnews)从 IE 到 Chrome,再从 Chrome 到 Edge,微软与...

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

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

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

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

女程序员,为什么比男程序员少???

昨天看到一档综艺节目,讨论了两个话题:(1)中国学生的数学成绩,平均下来看,会比国外好?为什么?(2)男生的数学成绩,平均下来看,会比女生好?为什么?同时,我又联想到了一个技术圈经常讨...

搜狗输入法也在挑战国人的智商!

故事总是一个接着一个到来...上周写完《鲁大师已经彻底沦为一款垃圾流氓软件!》这篇文章之后,鲁大师的市场工作人员就找到了我,希望把这篇文章删除掉。经过一番沟通我先把这篇文章从公号中删除了...

85后蒋凡:28岁实现财务自由、34岁成为阿里万亿电商帝国双掌门,他的人生底层逻辑是什么?...

蒋凡是何许人也? 2017年12月27日,在入职4年时间里,蒋凡开挂般坐上了淘宝总裁位置。 为此,时任阿里CEO张勇在任命书中力赞: 蒋凡加入阿里,始终保持创业者的冲劲,有敏锐的...

总结了 150 余个神奇网站,你不来瞅瞅吗?

原博客再更新,可能就没了,之后将持续更新本篇博客。

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

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

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

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

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

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

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

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

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

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

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

什么时候跳槽,为什么离职,你想好了么?

都是出来打工的,多为自己着想

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

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

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

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中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多个条件是什么逻辑关系?条件判断在什么时候执...

终于懂了TCP和UDP协议区别

终于懂了TCP和UDP协议区别

无代码时代来临,程序员如何保住饭碗?

编程语言层出不穷,从最初的机器语言到如今2500种以上的高级语言,程序员们大呼“学到头秃”。程序员一边面临编程语言不断推陈出新,一边面临由于许多代码已存在,程序员编写新应用程序时存在重复“搬砖”的现象。 无代码/低代码编程应运而生。无代码/低代码是一种创建应用的方法,它可以让开发者使用最少的编码知识来快速开发应用程序。开发者通过图形界面中,可视化建模来组装和配置应用程序。这样一来,开发者直...

立即提问
相关内容推荐