Aftet Reading My Thinking Abotu C Programming FAQs 495
2014-04-06 15:45
183 查看
Aftet Reading My Thinking Abotu C Programming FAQs 495
1.typedef 与 #define 有什么区别?
最好使用typedef 因为它可以正确处理指针类型,当然#define也有#ifdef的优点,同时typedef也有遵守作用域规则的特点(即可在函数或块内声明)。
2.typedef 声明一个结构指向自己的指针
typedef struct node{
char *item;
struct node *next;
}NODEPER;
3.关于命名空间的管理(即函数命名)
综合规则和头文件里的“未来使用”的考虑
不要使用任何以下划线开始的名称
4.*p++
由于自增运算++,--操作符优先级比前缀一元操作符优先级要高,因此*p++与*(p++)等价。他自增p并返回p自增前所指向的值。
5.指针与数组等价
一旦提到这个数组,数组就退化成指针了。所以当作为函数形参时数组和指针的声明可以互换,这是一种方便的做法,实际上数组由于马上退化为指针,他从来就没有被传入到函数,函数接收到的是指针。
指针可以模拟数组,指针算术与数组下标运算等价,他俩并不完全一样。
6.布尔表达式
C里面没有正式的布尔类型,它将0解释为False,任何非零值解释为真,而在逻辑表达式中常常返回1为真。(例如while(1)为常用死循环)
7.c=getchar()!=EOF
EOF在头文件stdio.h中定义为-1,但这并不是指你要得输入-1才会结束。因为当你输入-1时是两个字符,而getchar一次只读一个字符。
8.在使用scanf和getchar或是gets时出现问题
这实际上就是输入缓冲区的问题,由于scanf对换行符的特殊处理,要么就完全使用scanf,要么就干脆不用它。
9.scanf、gets有很多问题,如何代替?
可以先用fgets来读出整行,再用scanf或其他办法来解释。
10.在C语言中获得当前时间?
头文件time.h下,使用time、ctime、localtime等函数均可。ctime转换time_t为可打印的字符串。
time_t now;
time(&now);
printf("It's %s",ctime(&now));
1.typedef 与 #define 有什么区别?
最好使用typedef 因为它可以正确处理指针类型,当然#define也有#ifdef的优点,同时typedef也有遵守作用域规则的特点(即可在函数或块内声明)。
2.typedef 声明一个结构指向自己的指针
typedef struct node{
char *item;
struct node *next;
}NODEPER;
3.关于命名空间的管理(即函数命名)
综合规则和头文件里的“未来使用”的考虑
不要使用任何以下划线开始的名称
4.*p++
由于自增运算++,--操作符优先级比前缀一元操作符优先级要高,因此*p++与*(p++)等价。他自增p并返回p自增前所指向的值。
5.指针与数组等价
一旦提到这个数组,数组就退化成指针了。所以当作为函数形参时数组和指针的声明可以互换,这是一种方便的做法,实际上数组由于马上退化为指针,他从来就没有被传入到函数,函数接收到的是指针。
指针可以模拟数组,指针算术与数组下标运算等价,他俩并不完全一样。
6.布尔表达式
C里面没有正式的布尔类型,它将0解释为False,任何非零值解释为真,而在逻辑表达式中常常返回1为真。(例如while(1)为常用死循环)
7.c=getchar()!=EOF
EOF在头文件stdio.h中定义为-1,但这并不是指你要得输入-1才会结束。因为当你输入-1时是两个字符,而getchar一次只读一个字符。
8.在使用scanf和getchar或是gets时出现问题
这实际上就是输入缓冲区的问题,由于scanf对换行符的特殊处理,要么就完全使用scanf,要么就干脆不用它。
9.scanf、gets有很多问题,如何代替?
可以先用fgets来读出整行,再用scanf或其他办法来解释。
10.在C语言中获得当前时间?
头文件time.h下,使用time、ctime、localtime等函数均可。ctime转换time_t为可打印的字符串。
time_t now;
time(&now);
printf("It's %s",ctime(&now));
相关文章推荐
- Todd.log - a place to keep my thoughts on programming
- Reading "Thinking in Java" #4
- Reading notes on <The Art of Unix Programming>(1)
- Programming In Scala Reading Note 4
- my reading list about deep learning
- My journal after reading 《Washington Square》
- Why C Is Not My Favourite Programming Language
- My note for reading English reference
- My Network programming library
- Reading "Thinking in Java" #5
- Thinking in Current Programming Way
- My Programming Life 2
- MyBooksReadingStatic
- My Reading List - Machine Learning && Computer Vision
- THINKING IN SOCKET PROGRAMMING
- the thinking use of DOM in my project
- Thinking in Current Programming Languages
- How I explained OOD to my wife[Thinking in OOD]
- http://blog.youxu.info/2008/10/30/my-girlfriends-comments-on-programming-langs/
- Thinking Oriented Programming