C
Alan0521
这个作者很懒,什么都没留下…
展开
-
C99标准 数据类型以及后缀
C99标准 一、数据类型 数据类型是按照规定形式表示数据的一种方式,不同的数据类型占用空间也不同。 为了学习方便,特意整理了下C语言的数据类型的分类结构,如下图: 对于数据类型,还应该明白以下几点 1、整型数据 int可以有修饰符 short、long、long long三种,后面的int可省略,默认的整形数据常量为int。2、整型数据 int可以是转载 2012-01-29 22:03:33 · 1511 阅读 · 0 评论 -
条件编译 #ifndef _HEAD_H...中下划线的理解!
一、下划线“__”属于编程风格的内容,对程序没有影响。不用下划线也可以,用几个下划线也由个人习惯。二、其实质是一个宏名。由此我们可以防止发生重复定义或声明。假设你的头文件名为head.h,根据习惯,我们声明一个宏HEAD_H,对应这个头文件,在头文件中开始的地方和结尾的地方加上 对HEAD_H的声明和判断,头文件Head.h如下:#ifndef HEAD_H #de转载 2012-09-28 09:51:12 · 1032 阅读 · 0 评论 -
用scanf获取一行字符串包括空格的以及C语言函数
内容:#includeint main(){ char a[777]; scanf("%[^\n]",&a); printf("%s",a); return 0;}说明:在scanf函数中,可以使用 %c来读取一个字符,使用 %s 读取一个字符串,但是读取字符串时不忽略空格,读字符串时忽略开始的空格,并且读到空转载 2012-07-25 14:18:23 · 4326 阅读 · 0 评论 -
C语言 scanf输入回车或空格时停止输入
main(){ int i,a[10]; for(i=0;i<10;i++) scanf("%d",&a[i]);}输入一个数字再按空格会继续读入数字,如果输入的数据不足10个,怎么让它在输入完毕后按回车自动跳出循环?----#include#includeint main(){ int i,a[10]; char c; for(i=0转载 2012-05-02 10:10:17 · 17505 阅读 · 0 评论 -
ERROR :“dereferencing pointer to incomplete type”是什么错误?
“dereferencing pointer to incomplete type”是什么错误?I use gcc to compile my C file.dereferencing pointer to incomplete type是什么错误?-->你的指针,有一个类型,这个类型是不完全的。也就是说,你只给出了这个类型的声明,没有给出其定义。你这里的类型多半是结构转载 2012-03-20 13:10:32 · 3334 阅读 · 0 评论 -
Linux编码规范
一、排版1.相对独立的程序块之间、变量声明之后必须加空行。int conn_fd;int ret; conn_fd = socket(AF_INET, SOCK_STREAM,0);if (conn_fd < 0){ perror("socket create");}2转载 2012-03-15 14:50:33 · 648 阅读 · 0 评论 -
全局变量、常量、程序代码、静态变量的位置关系
一.在c中分为这几个存储区 1.栈 - 有编译器自动分配释放 2.堆 - 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收 3.全局区(静态区),全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的> 另一块区域。- 程序结束释放4.另外还有一个专门放常量的地方。 - 程转载 2012-02-19 08:34:00 · 1350 阅读 · 0 评论 -
结构体内的#define宏定义
关于宏的作用域1. 宏没有可见域。 如果说有,那就是从本文件(包括被包含的文件)中,该宏定义处开始,至文件的尾部或取消宏(#undef)为止。2. 考虑一种特殊情况: 一个宏定义,如果写在结构体之内,即使与结构体之外的宏定义名字重复了最多是编译警告。可是如果不在结构体之内,名字重复可肯定是error。(未证实,可以做实验,而且可以把两处的转载 2012-02-08 21:30:14 · 1445 阅读 · 0 评论 -
Sizeof与Strlen的区别与联系
一、sizeof sizeof(...)是运算符,在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。 它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。 由于在编译时计算,因此sizeof不能用来返回动态分配的内存空间的大小。实际上,用sizeof来返回类型以及静态分配的对象、结构或数组所占的转载 2012-02-06 22:29:24 · 623 阅读 · 0 评论 -
c中数据类型的隐式转换
1、隐式转换 C在以下四种情况下会进行隐式转换: 1、算术运算式中,低类型能够转换为高类型。 2、赋值表达式中,右边表达式的值自动隐式转换为左边变量的类型,并赋值给他。 3、函数调用中参数传递时,系统隐式地将实参转换为形参的类型后,赋给形参。 4、函数有返回值时,系统将隐式地将返回表达式类型转换为返回值类型,赋值给调用函数。转载 2012-02-06 22:03:28 · 767 阅读 · 2 评论 -
关于0、'\0'、NULL的问题?
回复于:2003-08-30 15:46:380 数值,如果在机器上表示的话会占用相应的空间,如果是 int i = 0;则占四个字节(32位) '\0 ' 是个不可见字符,其ascii码为0。不嫌烦的话你可以像0那样使用它。 两者基本可以通用,但要顾及到代码风格。 NULL 的用途比较广泛,代表的意义也比较多。 ty转载 2012-02-01 19:19:51 · 583 阅读 · 0 评论 -
C异常处理机制:setjmp和longjmp
setjmp()和longjum()是通过操纵过程活动记录实现的。它是C语言所独有的。它们部分你不了C语言有限的转移能力。这个两个函数协同工作,如下所示: *setjmp(jmp_buf j)必须首先被调用。它表示“使用变量j记录现在的位置。函数返回零。” *longjmp(jmp_buf j,int i)可以接着被调用。它表示“回到j所记录的位置,让它看上去像是从原来的set转载 2012-02-01 11:52:59 · 582 阅读 · 0 评论 -
考查嵌入式C开发人员的最好的0x10道题
编者按:非常基本关于C语言的问题,一个信息类(计算机,资讯工程,电子工程, 通信工程)专业的本科毕业生应该达到的水平。题目不难,全部都能快速地答完,当然也需要一定的知识储备。对于大多数人,我们预期你可能答错 3) 4) 15)题,所以答错3道以内的,我们认为你很棒答错5道题以内,我们认为你还不错(你还可能答错第9题)如果你有6道以上的题目不能答对,基本上我们都不好说什么了....转载 2012-02-01 13:13:50 · 765 阅读 · 0 评论 -
warning: the 'gets' function is dangerous and should not be used.的解决办法
在Linux下,使用gets(cmd)函数报错:warning: the 'gets' function is dangerous and should not be used. 解决办法:采用fgets(cmd,100,stdin);//100为size问题解决! fgets从stdin中读字符,直至读到换行符或文件结束,但一次最多读size个字符。读出的字符连同转载 2012-11-28 10:19:46 · 3834 阅读 · 0 评论