C语言拾遗(二)
2016-02-14 16:46
253 查看
C语言拾遗
size_t 的真正类型
‘l’:long double
‘f’:float
-> 的优先级要大于 &,也即 &a-> 等价于 &(a->):则要求 a 为指针类型;
逗号表达式的结果是最后一个表达式的返回值,逗号表达式一般见于 if 语句:
(1)使用 itoa:
(2)使用 sprintf()
(3)C++ 使用 字符串流
size_t 的真正类型
typedef unsigned int size_t;
实数后的’l’、’d’以及缺省
缺省为:double,‘l’:long double
‘f’:float
std::cout << sizeof(12) << std::endl; // 4 std::cout << sizeof(12.) << std::endl; // 8 // double std::cout << sizeof(12.l) << std::endl; // 8 // long double std::cout << sizeof(12.f) << std::endl; // 4 // float
sizeof vs strlen
char buf[] = "hello"; // buf[0] = 'h' // buf[1] = 'e' // buf[2] = 'l' // buf[3] = 'l' // buf[4] = 'o' // buf[5] = '\0' sizeof(buf) ⇒ 6 // 实际所占内存空间大小 // 也是数组名不同于指针的明证 strlen(buf) ⇒ 5 // 遇'\0'结束
数组的初始化
int a[5] = {0}; // 全部初始化为 0 char a[5] = {0}; // sizeof(a) == 5 // strlen(a) == 0:遇0结束
算符优先级
(1)&a->-> 的优先级要大于 &,也即 &a-> 等价于 &(a->):则要求 a 为指针类型;
逗号表达式
if (x = foo(), x == "ok") { }
逗号表达式的结果是最后一个表达式的返回值,逗号表达式一般见于 if 语句:
将 int 变量值保存到 char* 中
int x = 10; char buf[10];
(1)使用 itoa:
itoa(x, buf, 10); // 10 表示以10进制存储
(2)使用 sprintf()
sprintf(buf, "%d", x);
(3)C++ 使用 字符串流
int x = 123; char buf[10]; stringstream ss; ss << x; ss >> buf;
相关文章推荐
- 几个基本排序算法的代码实现(C语言)
- 使用 C++ bitset 操纵浮点数类型(float、double)
- C语言之指针复习
- c++中冒号(:)和双冒号(::)的区别
- c语言 float 保留小数点后两位数字
- C/C++中的getline函数总结
- c++ getline()函数
- leetcode83题 题解 翻译 C语言版 Python版
- 如何用 OS X 的 Xcode 写C语言程序
- mc++ gdi+ 绘图功能
- C++程序设计之类的属性
- C++运算符重载函数作为类成员函数和友元函数
- 机器学习 深度学习 C/C++学习资料汇总链接
- 算法训练 输出米字形
- C++运算符重载
- 用C++访问SQL Server数据库
- c++模板的特化
- C++ 学习(第一天)C++中调用C编译器的函数的原理
- C++ 学习(第一天)sizeof与strlen 的区别
- C语言递归操作用法总结