随笔分类 - c
摘要:#include /*1.代码区(text segment):存放CPU执行的机器指令,该区域只读,通常代码区共享.如果代码被频繁的执行,只需要在内存中有一份代码区.2.数据区(data segment),明确初始化的全局变量,静态变a量(全局静态变量和局部静态变量)和常量数据(字符常量)3.BSS...
阅读全文
摘要:/*变量类型:按照存储方式1.局部变量(声明在函数内的变量)2.全局变量(声明在函数外的变量)变量的类型:按照生命周期(变量在内存中存在的时间)1.静态生命期:全局变量,和静态的局部变量(在编译期间就存在,直到整个程序终止)2.自动生命期:非静态的局部变量.3.动态生命期:使用动态内存分配函数去申请...
阅读全文
摘要:1 #include 2 #include 3 4 int main() 5 { 6 char s1[] = {'H', 'e', '1', '2', 'o'}; 7 char *p=(char *)(s1+3); 8 printf("*p:%c\n",p[0]); 9 char *p2=(...
阅读全文
摘要:#运算符用于在预编译时,将宏参数转换为字符串eg.#include #define CONVERT(f)(#f)void helloworld(){ printf("hi,tom welcome to you!");}int main(){ printf("%s\n",CONVERT(hello w...
阅读全文
摘要:主要针对int long char double 字节长度的识记。1 #include 2 3 int main() 4 { 5 int a[100]; 6 int (*p)[100]; 7 p=&a; 8 9 l...
阅读全文
摘要:简单的来说,++i 和 i++,在单独使用时,就是 i=i+1。而 a = ++i,相当于 i=i+1; a = i; (先i = i + 1,再使用i的值)而 a = i++,相当于 a = i; i=i+1; (先使用i的值,再i = i + 1)如果实在搞不明白++ --怎么回事,那也不是什么...
阅读全文
摘要:for循环的执行顺序用如下表达式:for(expression1;expression2;expression3) { expression4; }执行的顺序应该是:1)第一次循环,即初始化循环。 首先执行表达式expression1(一般为初始化语句);再执行...
阅读全文
摘要:直入正题,测试编译代码如下: 1 lude 2 3 int main() 4 { 5 int x=2,y,z; 6 x*=(y=z=5); 7 printf("%d\n",x); 8 z=3; 9 x==(y=z);10 printf("%d\n",x);11 x=(y==z);12 print...
阅读全文
摘要:1.10进制转2进制: 173转2进制2.二进制转10进制: 例如:二进制数1101.01转化成十进制1101.01(2)=1*20+0*21+1*22+1*23+0*2-1+1*2-2=1+0+4+8+0+0.25=13.25所以总结起来通用公式为:abcd.efg(2)=d*20+c*21+b...
阅读全文
摘要:前些天一直在看指针这块,遇到了一个问题,一直没有看透.后面通过各种打印地址或值输入,最终弄懂,为防止忘记,特在此记录下,同时也给需要的朋友一点指点,如果有不对的地方,还请朋友们指出,并相互交流下,谢谢.问题:输入的两个整数按大小顺序输出。用函数处理,而且用指针类型的数据作函数参数。解题:指针值传递s...
阅读全文
摘要:题:即输入的两个整数按大小顺序输出。今用函数处理,而且用指针类型的数据作函数参数。swap(int *p1,int *p2){ int temp; temp=*p1; *p1=*p2; *p2=temp;}main(){ int a,b; int *pointer...
阅读全文
摘要:定义:C语言允许宏带有参数。在宏定义中的参数称为形式参数,在宏调用中的参数称为实际参数。对带参数的宏,在调用中,不仅要宏展开,而且要用实参去代换形参。带参宏定义的一般形式为: #define 宏名(形参表) 字符串在字符串中含有各个形参。带参宏调用的一般形式为: 宏名(实参表);特别注意事项:如...
阅读全文
摘要:printf函数称为格式输出函数格式:printf(const char *_Format,...)printf(“格式控制字符串”, 输出表列)其中格式控制字符串用于指定输出格式。格式控制串可由格式字符串和非格式字符串两种组成。格式字符串是以%开头的字符串,在%后面跟有各种格式字符,以说明输出数据...
阅读全文
摘要:1.a.while(1){条件;}毋庸置疑,1永远为真,如果条件没有跳出语句,将是我首选的死循环的方案;b.do{}while(1)效果同上,依然是个不错的死循环;2.for(;;;){条件;}没有开始条件,没有结束条件,如果条件中没有跳出语句,同样将是一个不错的死循环;3.gotoLable:go...
阅读全文
摘要:一。volatile定义:一个定义为volatile的变量是说这变量可能会被意想不到的被改变,这样,有了volatile变量后,就提醒编译器就不会去假设这个变量的值了。精确地说就是,编译中的优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。eg:1.硬件设备...
阅读全文

浙公网安备 33010602011771号