标签 C/CPlusPlus 下的文章

int array2[2][2] = {{1, 2}, {3, 4}};
int num = 100;

int (*p[2]);
int *pp[2];
int (*ppp)[2];

p[0] = pp[0] = #
ppp = array2;

//输出: 1   3
cout << *(*ppp) << "   " << *(*(ppp + 1)) << endl;

上面 p 和 pp 等价,是指针数组. ppp 表示二维数组的指针。

最近复习 C++, 顺手总结一下 c/c++ 的编译器。

gcc/g++ 区别

  • gcc 默认将 .c结尾的文件以c方式处理,.cpp 结尾的文件以 c++ 方式处理。而 g++ 把两者都用 c++ 方式处理。(c++语法比c更严格)
  • g++ 在预处理、编译、汇编阶段会调用 gcc来完成
  • 通常 g++ 用作链接阶段,但 gcc只是不能缺省的链接c++库文件,需要手动指明(-lstdc++).

阅读全文

C++ 随机数产生 API


C++ 只能用C库的api来产生随机数. 头文件:#include <cstdlib>

//参数随机数,数字范围为 0 ~ RAND_MAX 之间
int rand();
//在调用 rand 前调用,设置随机数种子
void srand(unsigned int seed);

通常随机数种子用当前时间来设定。例如下:

#include <ctime>

srand((unsigned)time(NULL));

另,一些通用的方法如下:

阅读全文