【笔记】c语言学习记录


学习中发现c与c++仍有诸多不同,遂写之

1、error: 'for' loop initial declarations are only allowed in C99 mode

因为在gcc中直接在for循环中初始化了增量

  for(int i=0; i

这语法在gcc中是错误的,必须先先定义i变量,再写for循环

2.c语言中的字符串是char s[],没有string

所以可以这么写了

scanf("%s",s+1);
int n=strlen(s+1);
  3.#define和const的不同
int N=5010,MOD=1000000007;
int dp[N][N],dis[N];

(1)在C语言中,const不是一个真真正正的常量,其代表的含义仅仅是只读。使用const声明的对象是一个运行时对象,无法使用其作为某个量的初值、数组的长度、case的值或在类型的情形中使用。

(2)由const修饰的类型在内存中占空间而#define不占空间,

#define只是在编译前将要编译的源文件中相应的部分使用字符串替换例如前面的代码在编译前会被预处理为

  4.没有某些库 #include"iostream.h"   故没有cin