这个是一个typedef 的用法
typedef 的用法有:
1 typedef int INT; INT a ;等价于 int a;
2数组类型 typedef int A[10]; 就是说明以后用A定义变量相当于定义一个有10个元素的的int数组
eg A b;等价于 int b[10]; 这个是与法规定的,没有为什么,记住就行
3函数指针类型 typedef void (fun)(int,int); 你看 把void重新命名为函数指针变量fun,表示以后用fun定义的变量是 void 类型的带有一个参数的函数的指针变量,例如:
假设前面有函数 :void print(int a){printf("%d\n",a);}
fun a=print; a(10);//就会输出10
4就是你那个,我用基本数据类型讲原理:
typedef int INT,LPINT;
前面那个你懂得,我讲述后面那个,你可以这么理解 LPINT前面有个号说明是用来定义指针
变量的,因为 int 等价于LPINT 所以LPINT加上间访内存后才于int等价,所以LPINT等价于:
int ;例如 int a;等价于 LPINT a;
所以LZ你那个LinkStackPtr实质就是定义 struct StackNode 类型。语法规定这样没办法,只能记住,为了方便记忆。我把技巧写下
把typedef 去掉,看看定义的是什么类型,那么你以后用哪个标识符定义的就是你看到的类型;
例如:typedef struct StackNode StackNode,LinkStackPtr;//先去掉,typedef
struct StackNode StackNode,LinkStackPtr;//发现前者是结构体变量,后者
//是指针变量
所以StackNode用来定义变量,LinkStackPtr用来定义指针变量,LZ记住就行,记住了就会用了,我但当初也是这样,努力加油
出现上述问题可能是格式化两次hadoop,导致没有datanode
解决方法1:重启linux,再使用start-dfssh和start-yarnsh 重启一下hadoop
解决办法2:找到hadoop安装目录下 hadoop-241/data/dfs/data里面的current文件夹删除
然后从新执行一下 hadoop namenode -format
再使用start-dfssh和start-yarnsh 重启一下hadoop
欢迎分享,转载请注明来源:浪漫分享网
评论列表(0条)