~~system就是调用从程序中调用系统命令(和shell命令)。 system("pause")就是从程序里调用“pause”命令; 而“pause”这个系统命令的功能很简单,就是在命令行上输出一行类似于“Press any key to exit”的字,等待用户按一个键,然后返回。~~要用#include ~~system是C标准库中的一个函数,它可以调用系统的命令。system("pause")就是调用系统的pause命令,起到暂停程序运行的作用。
2.
[Error] d:\我的文档\C-Free\Temp\未命名6.cpp:25: C2501: 'pr' : missing storage-class or type specifiers
[Error] d:\我的文档\C-Free\Temp\未命名6.cpp:25: C2040: 'pr' : 'int' differs in levels of indirection from 'struct rect *'
[Error] d:\我的文档\C-Free\Temp\未命名6.cpp:25: C2440: 'initializing' : cannot convert from 'struct rect *' to 'int'
struct point
{
int x;
int y;
};
struct rect
{
struct point pt1;
struct point pt2;
};
struct rect screen, *pr;
struct point middle, *pp, px;
在外部就将 pr = &screen; 了。结果出现这样的错误~~原因,语句的执行只能在函数内部,外部只能定义函数和变量。。。。。。OMG!!! 看似简单的东西总是出错,还是自己的原因,所以有时多写代码是为了将自己可以避免的错误提前发掘出来
3.32 位系统下,不管什么样的指针类型,其大小都为4byte。可以测试一下sizeof(void *)。
4.
#include
int main(int argc,char * argv[])
{
int a [3][2]={(0,1),(2,3),(4,5)};
int *p;
p=a [0];
printf("%d",p[0]);
}
问打印出来的结果是多少?
很多人都觉得这太简单了,很快就能把答案告诉我:0。不过很可惜,错了。答案应该
是1。如果你也认为是0,那你实在应该好好看看这个题。花括号里面嵌套的是小括号,而
不是花括号!这里是花括号里面嵌套了逗号表达式!其实这个赋值就相当于int a [3][2]={ 1, 3,
5};
所以,在初始化二维数组的时候一定要注意,别不小心把应该用的花括号写成小括号
了。(),要不就相当于{1,3,5}了
5.变量,const 修饰的只读变量不能用来作为定义数组的维数,也不能放在case 关键字后面.
6.#error 就会生成一个编译错误提示消息,并停止编译。
#pragma message(“消息文本”)
当编译器遇到这条指令时就在编译输出窗口中将消息文本打印出来。
#ifdef _X86
#Pragma message(“_X86 macro activated!”)
#endif
使用指令#pragma pack (n),编译器将按照n 个字节对齐。
使用指令#pragma pack (),编译器将取消自定义字节对齐方式。
5.用define预定义的符号常量用大写~
6.
typedef enum {RESET = 0, SET = !RESET} FlagStatus, ITStatus
这句话的意思就是每个FlagStatus和ITStatus都是enum {RESET = 0, SET = !RESET}这种类型
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~分割线~~~一年多没整理了~~~
7.数组的初始化用memset很方便
void *memset(void *s, int ch, size_t n);
函数解释:将s中前n个字节 (typedef unsigned int size_t)用 ch 替换并返回 s 。
memset:作用是在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法。