
language C
太阳骑士索拉尔
天青色等烟雨
展开
-
getchar()
getchar 的用途是从从标准输入流读取一个字符,读回车符时退出getchar();永远只向缓存中输入一个字符。getchar();的用法: 一种就是清空回车符 这种情况一般发生在在循环中涉及到输入的情况 ,还有一种是某些编译平台(IDE)在运行程序时并没有在程序运行后给人看结果的时间 这时候 在程序最后加上getchar()就能造成程序的暂停 给程序员度结果的机会。注意: ...原创 2018-04-22 16:28:26 · 4412 阅读 · 0 评论 -
exit()函数
exit好象在stdio.h里面,所以要有包含头文件 return是返回函数调用,如果返回的是main函数,则为退出程序 exit是在调用处强行退出程序,运行一次程序就结束 ------------------------------------------------------------------- return 是返回 函数返回 而exit是退出 --------------------...原创 2018-04-22 16:25:16 · 2364 阅读 · 0 评论 -
\r与\n的故事
\r是回车符,\n是换行符计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符。要是在这0.2秒里面,又有新的字符传过来,那么这个字符将丢失。 于是,研制人员想了个办法解决这个问题,就是在每行后面加两个表示结束的字符。一个叫做“回车”,告诉打字机把打印头定位在左边...原创 2018-04-22 16:22:53 · 257 阅读 · 0 评论 -
文件的二进制与文本打开方式的不同
原文:链接Windows平台下 如果以“文本”方式打开文件,当读取文件的时候,系统会将所有的"/r/n"转换成"/n";当写入文件的时候,系统会将"/n"转换成"/r/n"写入。 如果以"二进制"方式打开文件,则读/写都不会进行这样的转换。 在Unix/Linux平台下“文本”与“二进制”模式没有区别。 数据有字符型和非字符型(数)两种。按文本方式写文件指的是将数据转换为对应的字符型数据之后再写入...转载 2018-04-22 16:17:43 · 1789 阅读 · 0 评论 -
define的函数用法
定义常量,比如#define max 10;此时就是一个文本的替换定义函数,比如 #define MAX(a,b) ((a) > (b) ? (a) : (b)) 此时就和定义了比大小的函数一样注意:define是简单的文本替换,也就是说这并没有你想的那么好用比如说#include<stdio.h>#define add(a,b) a*b#define add1(a,b) (...原创 2018-04-22 15:50:04 · 16614 阅读 · 0 评论 -
结构体与内存对齐
1)结构体变量的首地址是其最长基本类型成员的整数倍;备注:编译器在给结构体开辟空间时,首先找到结构体中最宽的基本数据类型,然后寻找内存地址能是该基本数据类型的整倍的位置,作为结构体的首地址。将这个最宽的基本数据类型的大小作为上面介绍的对齐模数。2)结构体每个成员相对于结构体首地址的偏移量(offset)都是成员大小的整数倍,如有需要编译器会在成员之间加上填充字节(internal adding);...原创 2018-04-22 14:54:47 · 168 阅读 · 1 评论 -
关于可变参数函数+ _INTSIZEOF宏实现详细
在看疯狂iOS讲义,讲到形参个数可变的问题(p 155)用到了下面三个函数,我直接把函数原型找出来了void va_start( va_list arg_ptr, prev_param ); type va_arg( va_list arg_ptr, type ); void va_end( va_list arg_ptr );其中 va_list arg_ptr是定义了一个list型的变量,该变...原创 2018-06-03 10:08:23 · 639 阅读 · 0 评论