1)字符变数字:str[i]-‘0’
1 | int num = 123; |
2)char *strncpy(char *dest,const char *src,size_t n)
把str所指向的字符串复制最多n个字符到dest
1 |
|
3) 用0x3f3f3f3f设定int的最大值
在许多算法中都要用到一个常量来表示最大值,例如:寻找一个最小数。
- 不会数据溢出
- 我们想将一个数组的数据全部置为无穷大的时候(经常用到),使用的 memset的第二个参数value是8-bit的,可使用memset来将数组所有值最大化。
1 | const int INF = 0x3f3f3f3f; |
4) printf(“%08d\n”, num); 第一个0表示用0填充,第二个8是设置输出宽度(学号8个字符)
5) 表示最大/最小整数
头文件 #include <climits>
INT_MAX
+2147483647 (2^31 - 1)
INt_MIN
-2147483648 (-2^31)
int占4字节32位
long long 占8字节64位
6) pair<int, int> 是一种类型
pair<int, int>x
通过x.first x.second来引用其元素
7) 字符数组 字符指针
今天百度面试被问道这题
1 | char *str = "abcff"; //字符指针 |
char*类型,sizeof()
计算出指针的大小,32位系统占4字节,64位系统占8字节,与char *的字符串长度无关系;而可以计算出字符数组char a[]中元素个数,而非指针大小。
但是如果将其用于参数传递的话,子函数中获取的将不再是字符串数组类型,而是指针,这个要特别注意。
strlen()
可以计算字符指针字符串的真实值大小,判断方法是找’\0’,根据’\0’来计算长度。
https://blog.csdn.net/xc889078/article/details/8910812
8) c++向上向下取整
8.1 向上取整
1、公式: x = (n - 1) / m + 1
,变形得 x = ( n + m - 1 )/ m
2、ceil(), ceil(x)返回一个大于x的最小正数
8.2 向下取整
1、整数除法运算符 / 代表向下取整, 常用于计算当中
2、(x-1)/y
2、floor(), floor(x)返回一个小于或等于x的最大整数
3、直接舍去小数部分,赋值给整数变量(适用于正数)例如:int a = 2.5, b = int(2.5), a, b数值都是2