![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言学习
PengAcang
这个作者很懒,什么都没留下…
展开
-
linux c学习—— 预处理和结构体
1.预处理有哪些类型?C语言提供多种预处理功能,主要处理#开始的预编译指令,如宏定义(# define),文件包含(# include),条件编译(# ifdef)等(以*开头的都是预处理命令)。2.条件语句和条件编译有什么区别?条件编译是C语言中预处理部分的内容,它是编译器编代码时最先处理的部分,。条件编译里面有判断语句,如#if,#else,#endif。它的意思是如果宏条件如果符合,就编译这段原创 2017-10-27 17:16:44 · 359 阅读 · 0 评论 -
setsockopt函数的作用
本文转自:http://www.2cto.com/kf/201208/150347.html写Socket程序的时候经常会遇到这个问题:如果自己的程序不小心崩溃了,重新启动程序的时候往往会在bind调用上失败,错误原因为Address Already In Use,往往要等待两分钟才能再次绑定。但是在很多的程序(比如nginx)中好像并不存在这个问题,就算被KILL了也能立刻重启。这个区别还是...转载 2018-07-29 15:18:28 · 1693 阅读 · 0 评论 -
C语言学习——strlen 与 sizeof 的区别
结合学习:c语言学习——字符数组与字符串的使用详解: https://blog.csdn.net/pengacang/article/details/78429012关于 strlen 与 sizeof 的区别,我相信很多人都有所了解。以下我总结了几点关于strlen 与 sizeof 的区别和注意事项。strlen 是函数,sizeof 是运算符。strlen 测量的是字符的实际长...原创 2018-07-25 14:56:26 · 249 阅读 · 0 评论 -
学习c++(3)初始化列表
一、 1)对象初始化列表出现原因 1.必须这样做: 如果我们有一个类成员,它本身是一个类或者是一个结构,而且这个成员它只有一个带参数的构造函数,没有默认构造函数。这时要对这个类成员进行初始化,就必须调用这个类成员的带参数的构造函数, 如果没有初始化列表,那么他将无法完成第一步,就会报错。2、类成员中若有const修饰,必须在对象初始化的时候,给const int m 赋值 当类成员中...原创 2018-07-24 21:23:02 · 161 阅读 · 0 评论 -
牛客网刷题(2)重点错题
1. 32位机器上定义如下结构体: struct xx { long long _x1; char _x2; int _x3; char _x4[2]; static int _x5; }; int xx::_x5;1 请问sizeof(xx)的大小是; 答案:24解析:首先_x5是静态变量可以不用管它,其次是要考虑字节对齐的...原创 2018-07-24 20:03:50 · 315 阅读 · 0 评论 -
Linux常用的文件处理命令
Linux 系统信息存放在文件里,文件与普通的公务文件类似。每个文件都有自己的名字、内容、存放地址及其它一些管理信息,如文件的用户、文件的大小等。文件可以是一封信、一个通讯录,或者是程序的源语句、程序的数据,甚至可以包括可执行的程序和其它非正文内容。 Linux 文件系统具有良好的结构,系统提供了很多文件处理程序。这里主要介绍常用的文件处理命令。原创 2017-10-02 15:33:40 · 313 阅读 · 1 评论 -
Linux工程管理器和GDB调试器
在实际的开发过程中,仅仅通过使用 gcc 命令对程序进行编译是非常低效的。原因主要有以下两点。1)程序往往是由多个源文件组成的,源文件的个数越多,那么 gcc 的命令行就会越长。此外,各种编译规则也会加大 gcc 命令行的复杂度。所以在开发调试程序的过程中,通过输入gcc 命令行来编译程序是很麻烦的。2)在程序的整个开发过程中,调试的工作量占到了整体工作量的 70%以上。在调试程序的过程...原创 2017-10-01 15:26:57 · 282 阅读 · 0 评论 -
Linux学习——进程间通信方式(1)
管道(Pipe)和有名管道(FIFO)一、无名管道(pipe)1.1管道的介绍管道可以用于具有亲缘关系进程间的通信,有名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允许无亲缘进程间的通信。A.管道是半双工的,数据只能向一个方向流动;需要双方通信时,需要建立起两个管道B.只能用于父子进程或者兄弟进程之间(具有亲缘关系的进程);C.单独构成一种独立的文件系统:管道对于管道两端的进程原创 2017-12-01 10:29:59 · 225 阅读 · 0 评论 -
Liunx 应用程序开发——GCC
Liunx 应用程序开发—GCC一、GCC的介绍:在 Linux 平台上,最流行的编译系统是 GCC(GNU Compile Collection)。GCC 也是 GNU发布的最著名的软件之一。GCC 的功能非常强大,主要体现在两方面。1) GCC 可以为 x86、ARM、MIPS 等不同体系结构的硬件平台编译程序。 2) GCC 可以编译 C、C++、Pascal、Java 等...原创 2017-10-01 12:13:12 · 382 阅读 · 0 评论 -
c语言学习——字符数组与字符串的使用详解
1、字符数组的定义与初始化字符数组的初始化,最容易理解的方式就是逐个字符赋给数组中各元素。char str[10]={ 'I',' ','a','m',' ',‘h','a','p','p','y'};即把10个字符分别赋给str[0]到str[9]10个元素 如果花括号中提供的字符个数大于数组长度,则按语法错误处理;若小于数组长度,则只将这些字符数组中前面那些元素,其余的元素自动定为空字符(即原创 2017-11-02 20:29:25 · 677 阅读 · 0 评论 -
C语言学习——数据类型
Q1,Q2:什么是变量?变量有哪些要素?A1,A2:其值在其作用域内可以改变的量被称为变量变量有名字、一定的存储空间变量必须要定义,有地址(对应存储空间的首地址)变量依据定义的类型分类,它的大小由类型决定。Q3:什么是变量值?A3:变量所对应的存储空间内存放的二进制序列变量的值不会因变量类型改变而改变当变量转换为对应类型时,内存区域的二进制序列以该类型的形式译出来Q4:变量值举例A原创 2017-10-08 22:37:45 · 470 阅读 · 0 评论 -
C语言学习—函数
1.函数的声明与定义 函数的声明就是声称一个函数的名字,只是说明函数的名字,不涉及函数的实现,即没有函数体,所以函数的声明只包括前三个部分。 函数的定义就是确定一个函数的意义,即让函数具有某项功能,但是这里可不是只有函数体,你要指明这个函数体就是那个函数,所以函数的定义包含了一个函数的所以部分。2.形式参数与实际参数的区别 形式参数就是定义函数时候的参数表,只是定义了调用时参数的个数、类型和用原创 2017-10-20 14:52:07 · 339 阅读 · 0 评论 -
C语言学习—数组
Q1:当数组出现在一个表达式中时,它和指向数组中的第一个元素的指针是等价的。但要注意头文件与源文件要进行相应的定义。例如:假如在源文件里进行如下定义:char a[max];但是在头文件中说明如下:extern char *a;就会导致可怕的后果。所以应当在对应头文件中进行如下说明:extern char a[];Q2:数组的下标总是从0开始吗?是的。但在其他语言中,情况可能所有不同。Q3:可原创 2017-10-20 13:23:41 · 303 阅读 · 0 评论 -
编程题训练:数串
链接:https://www.nowcoder.com/questionTerminal/a6a656249f404eb498d16b2f8eaa2c60 来源:牛客网设有n个正整数,将他们连接成一排,组成一个最大的多位整数。 如:n=3时,3个整数13,312,343,连成的最大整数为34331213。 如:n=4时,4个整数7,13,4,246连接成的最大整数为7424613。输...原创 2018-08-08 20:26:16 · 521 阅读 · 0 评论