tips

  • 数组初始化

  • 局部数组简写的初始化语法。如果一个数组被部分初始化,没有被初始化的元素会被自动设置为相应类型的0。这是编译器自动完成的。可以这样写:只能0!
int main(void)
{
    int arr[1024] = {0};  // This will make all ZERO
    int arr2[1024][1024] = {0};
    // statements
}

 

  • fill()和  menset() 两者看似相等,但两者却有巨大的区别,在fill()中 ,它的原理是把那一块单元赋成指定的值,也就是说任何值都可以,而在memset(),则是将s所指向的某一块内存中的每个字节的内容全部设置为ch指定的ASCII值,memset只能赋值0 和 -1!
  •  二维数组初始化赋值时候N取数组容量(MAXN)!小了会赋值失败
#include <algorithm>
using namespace std;

fill(a,a+100,1);
fill(f[0], f[0]+N*N, k); // 哇,坑死了,赋值时候N取数组容量(MAXN)!小了会赋值失败
#include <cstring>

memset(a,0,sizeof(a)); 

 

  • 指针写法

C++ 推荐 int* p,但要注意:

int* p,q; //这种写法是错误的!!!!//这种写法是错误的!!!!
int *p,*q; //正确写法

 

  • 结构体分号前相当于定义结构体变量,定义指针,结构体变量,结构体数组皆可。

 

  • 可以设最大值为0x6fffffff

 

  • 输入输出重定向

#define LOCAL

int main{

#ifdef LOCAL
	freopen("data.in", "r", stdin);
	freopen("data.out", "w", stdout);
#endif

//关闭
freopen("CON", "r", stdin);
freopen("CON", "w", stdout);

}

 

  • 格式控制符

 

1. %md             m位右对齐输出,不足用空格补齐

2.%0md            m位右对齐输出,不足用0补齐

3.%.mf              保留m位小数输出

 

/*   完整格式

1.% - x m . n 格式字符
2.有-表示左对齐,无表示右对齐
3.x表示空位需要填的字符
4.m表示最小域宽
5.n表示精度,一般用于实型小数点保留位数,按照四舍五入原则

*/

 

使用时不用加空格,比如“%-010.5f”。10位,左对齐,以0填充,保留5位小数。

输入5.6,输出5.60000      。

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值