随笔分类 -  C语言学习

摘要:在C语言中声明结构体变量需要加上struct关键字,而c++中不需要加。 阅读全文
posted @ 2012-08-14 20:34 l851654152 阅读(144) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2012-08-05 12:24 l851654152 阅读(114) 评论(0) 推荐(0)
摘要:fgets函数将文件流中的数据读入到内存中,是按行读取char *fgets(char *s, int n, FILE *stream);最多读入n-1个字符,遇到换行符也算一个字符,也算在n-1个字符内。因为最后一个字符是'\0' 所以最多只能有n-1个字符。从键盘输入的所有数据都是字符形式的。以空格加以区分,在计算机内部根据数据类型转换。所有的编程数据都得经过内存,就像之前所说必须经过操作系统一样。不管是内存还是文件亦或是其他的输入输出设备写出来的都是源字符,只是表达方式不一样而已,例如文件是看不到换行的,标准输入是用enter换行,内存用'\n'换行。最终 阅读全文
posted @ 2012-07-24 20:51 l851654152 阅读(200) 评论(0) 推荐(0)
摘要:static的作用函数内部的变量作用域在函数内部,函数外部的作用域看范围。extern和auto是两个极端,static是对他们的缓和。在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。(1)先来介绍它的第一条也是最重要的一条:隐藏。当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是a.c,另一个是main.c。下面是a.c的内容chara='A';//globalvariablevoidmsg(){printf("Hello\n");}下 阅读全文
posted @ 2012-07-24 10:39 l851654152 阅读(1018) 评论(0) 推荐(0)
摘要:众所周知,一个变量是有作用域和生存期的。static关键字是用来声明变量生存期是整个程序运行时间之类。用static声明的变量属于静态,具有整个程序运行的时效性,而不具有全局性。全局变量声明static是表示引用范围,为声明所在文件中声明代码行以后的区域,函数里的局部变量修饰只接受第一次声明定义,之后每次调用函数都使用上次的值。 阅读全文
posted @ 2012-07-08 10:26 l851654152 阅读(159) 评论(0) 推荐(0)
摘要:在c语言中如果两个源文件包含同一个头文件,例如A.CPP包含C.H,B.CPP包含C.H,而A.CPP又包含B.CPP,就会造成文件重复包含的问题,解决方案:在C.H中写入#ifndef TEST_H_#define TEST_H_#include "TEST.h"//C.PP中包含的文件或者其他头文件#endif还有一种方法是:#pragma oncefatal error C1083造成的原因是没有预处理的模块,需要先编译预处理模块即stdafx.h不能直接编译链接,先编译再链接可以解决。 阅读全文
posted @ 2012-06-25 10:13 l851654152 阅读(959) 评论(0) 推荐(0)
摘要:学习了这么久的计算机,下面说说我对计算机的理解:学好计算机首先必须得打好基础:计算机体系结构,操作系统,编译原理,编程语言例如C/C++,编译器熟练运用例如VC,GCC,数据结构,算法,数据库,计算机网络,这些基础知识你不一定要很精通,但是必须明白其中的原理。对计算机程序的理解:数据结构+算法对这句话的理解有一个过程,最开始是简单的理解,然后是复杂的理解,现在是理解得简单。1.数据结构:是对数据的组织,例如有十个整数,我们如果定义十个变量去存放,肯定是会影响效率的。这时候就需要用到数组。一切皆数据结构:文件是数据结构,socket是数据结构,输入输出是数据结构,内存缓冲和内存块是数据结构。注意 阅读全文
posted @ 2012-06-24 20:35 l851654152 阅读(1028) 评论(0) 推荐(0)
摘要:变量和对象不加extern永远是定义,类中的除外。 函数只有函数头是声明,有函数体的是定义。 类永远只是声明。类成员函数的函数体是定义。大致为有内存分配的为定义,没有内存分配的为声明。例:是声明还是定义,判断的原则是看是否占用内存。例如:class MyClass //类的声明,无内存占有{ string myString; //string的声明};但是#include<iostream>//全局作用域string myString;//定义,myString是实例化的string!int main(){ //Main函数体内 string myAnotherString;//定 阅读全文
posted @ 2012-06-20 09:07 l851654152 阅读(231) 评论(0) 推荐(0)