下午搞了好长时间Linux。现在累了,却感到做的不太好。
我是学C的,而且只是入门学徒,学好C能给我以后发展打很好的基础。但Linux呢,我不是双系统,只是虚拟机,而且电脑性能也不太行,终不是像Windows一样得心应手。细想他的好处,真正工作时才会用到他。但那也不过是一个环境,他和C语言本就不是一种东西。他的学习较之C对目前的我来说不太重要。
Linux只是小妾,C才是正房。
我的精力最近有点过于分散了。像锤炼C的技术,就正面刚,瞎学什么骚操作呢?怕不是在闪躲,害怕在C上被人比下去。于是偶尔学点别的,为失败准备理由。呵,傻。我是真的傻。
想有一门拿的出手的语言,就要去深学。别再开新坑了。在开学的天梯赛,不就是个锤炼技术的好机会吗?别闪躲,想得到什么,就拿出你自己的勇气和意志。
就在刚才,又帮助一位同学解决了她的问题。帮人的感觉挺好的。
我一向是信奉“教学相长”的。而且,帮助同学解决问题也能攒人缘,积人品。只要在可控范围内。
这还是我第一次和一个女生在22点多通话近1h,然而讨论的其实是专业课,是学习。嘛嘛。我也了解到一些东西。不同编译器的标准可能不一样,对代码的严格程度不尽相同。
int a[2]完全成立。int m =2; int a[m] 却不一定。
在资料中,数组长度为常量表达式。为什么是常量,不能是变量呢?因为数组要开辟内存空间,这是在编译时就开辟好了的。(当然,动态数组除外,它真的时运行时才分配的) 这里不妨理解为,程序启动的两个步骤:编译-运行。编译时,只有一些确定的东西在执行,比如编译预处理和数组开辟空间等。运行时才是从头至尾一步一步。所以1完全成立。
那2怎么在dev-c可以,vs却不可以呢?笔者怀疑二者标准不太一样。
在c99(之前是c89)中
4、对数组的增强可变长数组C99中,程序员声明数组时,数组的维数可以由任一有效的整型表达式确定,包括只在运行时才能确定其值的表达式,这类数组就叫做可变长数组,但是只有局部数组才可以是变长的.可变长数组的维数在数组生存期内是不变的,也就是说,可变长数组不是动态的.可以变化的只是数组的大小.可以使用*来定义不确定长的可变长数组。
显然,是可变常数组的加入导致了这一切。
这一小时花的值,积攒了人缘,学到了知识。相比玩手机好多了。
网友评论