c06

来源:互联网 发布:中国卫星轨道数据 编辑:程序博客网 时间:2024/06/05 12:48

1.cin>>字符变量地址:把输入的一串字符从这个地址表示的内存单元开始一次摆放最后加'\0';

2.c++ string类型长度限制1G;

3.string类型仍可使用string[i],长度使用string.size();strlen(string.c_str());

4.计算两个日期相差天数及周几:

struct Data{int year;int mouth;int day;};bool isleap(int i){return i%4 == 0 && i%100 != 0 || i%400 == 0;}int MouthOfDays(int y, int m){int mou[12] = {31,0,31,30,31,30,31,31,30,31,30,31};if (m != 2)return mou[m-1];elsereturn 28 + isleap(y);}int Days(Data d){int day = d.day;for (int i = 1; i < d.year; ++i)day += 365 + isleap(i);for (int i = 1; i < d.mouth; ++i)day += MouthOfDays(d.year, i);return day;}void show(Data d1, Data d2){cout<<"相差:"<<Days(d2) - Days(d1)<<endl;cout<<Days(d2)%7<<endl;cout<<Days(d1)%7<<endl;}

5.有extern即为声明,无则为定义

6.指针有类型,struct t{int i;int j}; t s; *&s为变量s;*&s.i为变量s.i;虽然&s和&s.i相同

7.typedef:1.定义变量:int *p; 2.要定义的名字替换变量名:int *A; 3.添加tepydef:tepydef int *A;

8.地址运算依变量长度为单位

9.*p++运算顺序,* ,++均为单目平级,从右向左运算

10.int a[5] = {1,2,3,4,5}; *(a+1) = a[1]; int *p = a+1; p-a = 1;

11.比较本质是相见

12.char *p = new char[10]; delete[] p;

13.使用空指针(NULL)编译程序会报错

14.getline(cin, str);读取整行数据,包括中间的空格,其中str为string类型。get相关几个函数:http://www.cnblogs.com/flatfoosie/archive/2010/12/22/1914055.html

0 0