c语言
KurdtCobain
这个作者很懒,什么都没留下…
展开
-
c语言学习之snprintf
在ubuutu中man snprintf可以知道snprintf的原函数int snprintf(char *str, size_t size, const char *format, ...);函数功能:最多从源串中拷贝size-1个字符到目标串中,然后再在后面加一个0。所以如果目标串的大小为size 的话,将不会溢出。 函数返回值:若成功则返回欲写入的字符串长度,若出错则返回负值。 举例分析原创 2017-02-08 01:50:55 · 513 阅读 · 0 评论 -
C语言结构体的字节对齐原则
为什么要对齐? 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特 定的内存地址访问,这就需要各种类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。 对齐的作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只能从某些特定地址开转载 2017-06-30 03:10:24 · 710 阅读 · 0 评论 -
关于char, wchar_t, TCHAR, _T(),L,宏 _T、TEXT,_TEXT、L
char :单字节变量类型,最多表示256个字符,wchar_t :宽字节变量类型,用于表示Unicode字符,它实际定义在 wchar_t c = `A' ;wchar_t * p = L"Hello!" ;wchar_t a[] = L"Hello!" ;其中,宽字节类型每个变量占用2个字节,故上述数组a的sizeof(a) = 14TCHAR / _T( ) : 如果在程序中既包括转载 2017-06-30 03:19:04 · 262 阅读 · 0 评论 -
gcc编译器
通常我们都是使用的是的vim+gcc编译 编译一个c文件的命令是 gcc hello.c -o hello 殊不知气质这个编译语句包括 预处理 编译 汇编 链接预处理主要的作用就是头文件的扩展 宏定义 条件编译等 打印出预处理后的结果 gcc -E hello.c gcc 在这里调用了 cpp(虽然通过 gcc -v 仅看到 cc1),cpp 即 The C Preprocessor,主原创 2017-11-15 14:27:22 · 399 阅读 · 0 评论