c05

来源:互联网 发布:淘宝玩具批发市场 编辑:程序博客网 时间:2024/06/05 14:28

1.int i = -1;

unsigned int ui = i;

unsigned int = -1;

显示无符号整形最大值,可能会有编不过情形,强制类型转换(unsigned)-1;

2.静态局部变量的作用域:整个程序运行期间存在,但只在局部使用,只在第一次遇到时创建初始化,以后不再创建和初始化

3.外部变量:extern 声明,一定要在某地定义才能使用

4.静态全局函数:只在本文件中使用

5.标准C++规定数组个数为常量

6.初始化:定义变量的同时赋值

7.输出16进制字符串地址:char a[20]; cout<<hex<<(int)&a<<endl; 或者 cout<<(void*)a<<endl; 其中&a为取数组的首地址不是指针值a的地址和去函数名地址相同int fun();fun = &fun;

8.不允许对数组名赋值,可以用strcpy();

9.数组中元素未赋值补零,char a[20] = {};

10.double类型小数部分为零时,不显示小数部分

11.数组初始化时可以集体赋值,如int a[3] = {1, 2, 3};未初始化,只能逐个赋值不能使用{}集体赋值

12.数组越界访问破坏别的数据,a[-1]一样是越界,都可能破坏其他数据

13.数组名当数值使用时,仅仅是一地址,传入数组参数时实际传入的是指针,数组首地址

int a[5];void fun(int v[])//形参中一维数组和二维数组第一个维可以不写,写什么好像都无所谓,但第二维一定要正确,无论写否都是传入的指针值{   sizeof(v);//sizeof指针类型}sizeof(a);//sizeof数组类型int [5]fun(a);

14.c++中只有指针能保存地址,也只能保存地址

15.c++自动将低级数据类型转为高级,如int/double结果为double

16.简单排序:

for(int i = 0; i < N; ++i)   for(int j = i + 1; j < N; ++j)      if(a[j] < a[i])         swap(a[j], a[i]);

17.二维数组传参:
int a[2][3];void fun(int v[][3]){}fun(a);

18.vi ~/.exrc

<span style="font-size:14px;">set ts = 3set nuab .i #include<iostream>ab #i #inlude   //vi中输入#i确定出现#include</span>
19.strut和数组一样如果没有初始化,要逐个成员赋值

20.头文件<cstring>,char a[20] = {'a', 'b', '\0', 'c', 'd'};

strcpy(a, "hello");

strlen(a);//2

sizeof(a);//20

strcmp(str1, str2);//str1>str2,>0; str1<str2, <0; str1=str2, =0;

strcat(a, "hello");//追加

0 0
原创粉丝点击