Zihao

Make small but daily progress

0%

1.首先确定学校和专业

基于个人在互联网行业多年,在这个领域继续发展,进行深度技术学习。但是本身学业情况较差,学习一般。所以选择了普通211学校的非王牌计算机专业。最终确定华北电力大学的计算机技术(专业学位,因为专业学位两年毕业同时考试科目较少,学术学位三年,所以选择专业学位。考博同学最好选择学术学位。我个人规划是读研后可能出国,所以专业学位比学术学位更优)

阅读全文 »

很多人面对琳琅满目的产品无从选择,或是把收益高低作为唯一选择依据,或是频繁买入卖出,导致最终亏损离场,因此对理财产生焦虑。

真正的理财,应该是能够帮助你在奋斗的过程中,减少资产打理的烦恼,用较少的时间完成资产的保值增值,让你面对未来更加从容。

希望跟着阿牛的学习能帮助你建立正确的理财观,让你真正学会梳理好自己的资产状况。

阅读全文 »

听说支付宝代还信用卡要收费了。让一直使用支付的粉丝心头一跳!我可是绑了几十张卡在上边啊,就是为了一个方便。现在支付宝也开始收费了,还款只能一个个转账了吗?(什么?信用卡还能转账还款。想必有一些信用卡新用户都不知道可以用储蓄卡还款)

阅读全文 »

过年这几天进行了去年的复盘,可以确定的是做了很多事,犯了很多错误。
偶思虑几句佛偈道语,然子不语怪力乱神。我个人坚决抵制封建迷信,但是流传千年的古人智慧结晶有很多经验依然适用于当下。

阅读全文 »

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
#include<stdlib.h>  
#include<stdio.h>
// 初始化参数
#define MAX 20
#define LISTINCREMENT 10

#define OVERFLOW -2

#define TRUE 1
#define FALSE 0

typedef struct {
int *elem; // 存储空间的基地址
int length; // 当前线性表的长度
int listsize; // 当前分配的存储容量
} SqList;

// 初始化线性表
int initSqList(SqList *L){
// 开辟空间,将地址赋予指针
L->elem = (int *) malloc(MAX * sizeof(int));
if(!L->elem) exit(OVERFLOW) ;
L->listsize = MAX;
printf("输入表的长度:");
scanf("%d",&L->length);
printf("输入%d个数:",L->length);
for(int i=0;i<L->length;i++){
scanf("%d",&L->elem[i]);
}
return TRUE;
}
// 列表
int traverse(SqList *L){
//遍历
printf("表中数据为:");
for(int i=0; i < L->length;i++){
printf("%3d",L->elem[i]);
}
printf("\n");
return TRUE;
}
// 插入
int insert(SqList *L){
//插入元素及其要插入的位置
int i;
int e;
printf("输入要插入的位置及元素\n");
scanf("%d%d",&i,&e);
printf("在顺序线性表中第%d个位置之前插入新的元素%d。\n",i,e);
if(i > L->length+1 || i<1) return FALSE;
int *p,*q;
q = &(L->elem[i-1]);
p = &(L->elem[L->length-1]);
for(p ; p >= q; --p) {
*(p+1) = *p;
}
*q = e;
++L->length;
return TRUE;

}
// 删除
int delete(SqList *L){
// 删除元素位置或根据元素查询位置
int i,e;
printf("输入要删除第几个元素");
scanf("%d",&i);
if((i < 1) || (i > L->length)) return FALSE;
int *p,*q;
p = &(L->elem[i-1]);
e = *p;
q = L->elem + L->length-1;
for(++p; p<=q; ++p) {
// 被删除元素之后的元素左移
*(p-1) = *p;
}
--L->length;
printf("元素被删除");
return TRUE;
}
// 查找
int find(SqList *L){
printf("输入查找的元素:");
int e;
scanf("%d",&e);
for(int i = 0; i < L->length; i++)
{
if(L->elem[i] == e){
printf("查找成功,查找元素为%d \n",L->elem[i]);
return TRUE;
}
}
printf("查找失败 \n");
return FALSE;
}


int main(){
SqList L;
initSqList(&L);
traverse(&L);
find(&L);
insert(&L);
traverse(&L);
delete(&L);
traverse(&L);
return 0;
}

注意:

  1. SqList &L 为引用,SqList *L 为指针,在c语言中其实是没有引用这个概念的,只有指针概念,所以本实例使用指针操作,如:int initSqList(SqList *L)
  2. 在C语言中,箭头(->)是指针操作符,点(.)是结构操作符。如果L是一个结构实例的指针,要用->访问结构里面的变量,而不能用点;如果L是一个结构的实例,而非指针,则只能用点而不能用->。

EOS 合约的不同操作系统下开发环境配置:

  • Docker 方式安装
  • Ubuntu 18.04 安装
  • Ubuntu 16.04 安装
  • Mac 中 brew 安装
  • 源码安装

Ubuntu 18.04 和 Ubuntu 16.04 提供了 .deb 安装包,为 CentOS 系统提供了 .rpm 安装包。

阅读全文 »