- 博客(11)
- 收藏
- 关注
原创 字符变量连续读取需注意补零的问题
C语言允许对整形变量赋以字符值,也允许对字符变量赋以整形值。在输出时,允许把字符变量按整形输出,也允许把整形量按字符量输出。来看一下这个例子:
2014-06-25 09:17:50 487
转载 主设备号、次设备号
分配并注册主次设备号 设备号是在驱动module中分配并注册的,也就是说,驱动module拥有这个设备号(我的理解),而/dev目录下的设备文件是根据这个设备号创建的,因此,当访问/dev目录下的设备文件时,驱动module就知道,自己该出场服务了(当然是由内核通知)。 在Linux内核看来,主设备号标识设备对应的驱动程序,告诉Linux内核使用哪一个驱动程序为该设备(也就是/
2014-04-09 20:21:37 589
转载 linux内核register_chrdev_region()系列函数
内核提供了三个函数来注册一组字符设备编号,这三个函数分别是 register_chrdev_region()、alloc_chrdev_region() 和 register_chrdev()。其中,register_chrdev_region()是为提前知道设备的主次设备号的设备分配设备编号。alloc_chrdev_region() 是动态分配主次设备号。register_chrdev()
2014-04-09 20:11:07 1910
转载 C语言常用字符串函数的实现二
8.字符串反转函数:char * Reverse(char* str){ int len = strlen(str); char temp; for (int i = 0; i { temp = aStr[i]; aStr[i] = aStr[len -i -1]; aStr[len -i -1
2014-04-06 00:15:18 538
转载 C语言常用字符串函数的实现一
1.strcpy;函数的原型为char *strcpy(char *strDest, const char *strSrc);strcpy的实现经常要注意的细节是:(1)判断地址是否为空,个人感觉可以使用断言(2)参数只有两个地址,没有拷贝的长度。拷贝到'\0‘时就会终止,要保证最终dest末尾是'\0'。(3)要保证目标字串的长度足够,能够容纳原串的长度。(4)因为拷
2014-04-05 22:43:59 581
转载 C语言if判断是否为0的问题
【引用】和零值比较:布尔变量、整型变量、浮点变量、指针变量1.布尔变量和零值比较假设布尔变量名字为flag,它和零值比较的标准if语句如下:if(flag) //表示flag为假if(!flag) //表示flag为真根据布尔类型(boolean)的语义,0为假,任何非零值都是真。可用TRUE和FLASE来表示”真“和”假“的两个概念。语言实现必
2014-04-05 15:30:20 11041
原创 字符指针数组
char *a = "hello world";a的数据类型为char *,其指向的数据类型为char,指向该字符串的首元素h的地址在对字符指针初始化赋值时可以将一个字符串赋值给它,但指针变量只是向该字符串的首元素的地址,如果要访问该字符串其它的字符,需要通过指针偏移来实现.若要打印整个字符串,printf("%s\n", a);会打印出字符指针变量a在初始化赋值的字符串char
2014-04-05 10:06:55 859
原创 数组名的理解
数组名的理解:一:一维数组int a[5]数组名a代表数组首元素的地址,其类型为int *类型.注意:和sizeof搭配使用,a表示整个数组整体,sizeof(a) == 5 * 4. &a:对一维数组名取地址,其指向整个数组,所以其类型为int (*)[5],指向整个一维数组的指针(与二维数组名相同),如果你将它赋值给一个指针变量时只能赋值给一个 int(*p)
2014-04-05 10:05:06 563
转载 大小端模式详解
大小端模式详解端模式(Endian)的这个词出自Jonathan Swift书写的《格列佛游记》。这本书根据将鸡蛋敲开的方法不同将所有的人分为两类,从圆头开始将鸡蛋敲开的人被归为Big Endian,从尖头开始将鸡蛋敲开的人被归为Littile Endian(这句话最为形象)。小人国的内战就源于吃鸡蛋时是究竟从大头(Big-Endian)敲开还是从小头(Little-Endian)敲开。在
2014-04-05 10:02:18 571
原创 C语言的预处理、编译、汇编、链接
一、预处理预处理指令的执行主要包含下列事情:1.头文件的包含2.注释的删除3.宏定义的替换4.条件编译的选择指令:gcc -E test.c -o test.i /* 调用的是预处理器cpp, -E:只进行预处理操作,-o:输出到 , .i表示产生的临时文件 Intermediate */二、编译编译之前,C语言编译器会进行词法分析、
2014-04-05 09:52:33 1911
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人