Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1317495
  • 博文数量: 168
  • 博客积分: 2124
  • 博客等级: 大尉
  • 技术积分: 2590
  • 用 户 组: 普通用户
  • 注册时间: 2011-09-16 23:51
文章分类

全部博文(168)

文章存档

2014年(6)

2013年(74)

2012年(71)

2011年(17)

分类: C/C++

2011-10-30 00:00:00

1、system("pause"); 这个函数是什么意思
 
~~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:作用是在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法。






阅读(4128) | 评论(0) | 转发(2) |
给主人留下些什么吧!~~