Linux C语言学习笔记
1、int 4字节
long 8字节
float 4字节
double 8字节
long double 16字节
2、一个字符变量只能存放一个字符、一个字节存放一个字节
char c;
c = 'a'; c = '\034' c = '\n'
c = '\x65' c = 65 c = 0101
c = 0x41
3、运算符操作
-i++等价于-(i++)
i = 2;
j = -i++;
运算结果i=3 j=-2
4、优先级
!逻辑非 > 算术运算符 > 关系运算符 > &&逻辑与 > ||逻辑或
a = 0; b = 1; c = 2; d = a++&&b++&&--c
等价于
a = 0; b = 1; c = 2; d = (a++) && (b++) && (--c)
结果为
a = 1; b = 1; c = 2; d = 0;
a = 0; b = 1; c = 2; d = a++||b++||--c;
等价于
a = 0; b = 1; c = 2; d = (a++) || (b++) || (--c);
结果为
a = 1; b = 2; c = 2; d = 1;
5、复合赋值运算符
a += b 相当于 a = a + b;
a *= b + c 相当于 a = a * (b + c);
a = 2; a += a *= a; 等价于 a += (a *= a); 最后a = 8;
a = 5; b = 3;
int max = --a == b++ ? a++ : b++;
最后max = 4;
6、强制类型转换
int a = 2;
int b = 5;
(float)b/a等于2.5
(float)(b/a)等于2.0
7、字符串拷贝函数
char *strcpy(char *dest, const char *src);
函数功能:将字符串src复制到字符数组dest中,返回复制的字符串。
src可以是字符数组名、常量或字符指针变量。
dest可以是字符数组名或字符指针变量。若dest是字符指针变量,要注意给该指针变量赋初值。
函数说明:
字符数组1长度应大于等于字符串或字符数组2的长度;
字符数组1应该写成数组名的形式
例如:
static char a[10] = "abcdefghi";
char b[] = "happy";
相关文档:
例一:发送Signaling Packet:
Signaling Command是2个Bluetooth实体之间的L2CAP层命令传输。所以得Signaling Command使用CID 0x0001.
多个Command可以在一个C-frame(control frame)中发送。
如果要直接发送Signaling Command.需要建立SOCK_RAW类型的L2CAP连接Socket。这样才有机会自己填充Command Code,Identi ......
Windows完成端口与Linux epoll技术简介
2009-09-16 09:13
WINDOWS完成端口编程
1、基本概念
2、WINDOWS完成端口的特点
3、完成端口(Completion Ports )相关数据结构和创建
4、完成端口线程的工作原理
5、Windows完成端口的实例代码
Linux的EPoll模型
1、为什么select落后
2、内核中提高I/O性能的新方法epoll
3 ......
//获取本机MAC地址函数QString GetLocalMac()
{
int sock_mac;
struct ifreq ifr_mac;
char mac_addr[30];
sock_mac = socket( AF_INET, SOCK_STREAM, 0 );
if( sock_mac == -1)
{
perror("create socket falise...mac\n");
return "";
}
memset(&ifr_mac,0,sizeof(ifr_mac));
......