欢迎来到天天文库
浏览记录
ID:48142995
大小:60.21 KB
页数:14页
时间:2020-01-17
《C 语言重点及难点.pptx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、C语言重点及难点指针*p*p变量p地址*p++:地址变化(*p)++:数值变化常量指针(constint*p)---值不变指针常量(int*constp)---指针不变函数传参Voidadd(Structstudents){}Voidadd(structstudent*s){}与JAVA语言不同(基本数据类型/对象)递归斐波那契数intfibonaci(intn){if(n==0
2、n==1)return1;returnfibonaci(n-1)+fibonaci(n-2);}算法时间复杂度0(2n)typedefTypedefintdevice_t;Typed
3、efint*pDevice_t;命名基本规则匈牙利命名法标识符的名字以一个或者多个小写字母开头作为前缀lpszStr,表示指向一个以' '结尾的字符串(sz)的长指针(lp)变量驼峰(Camel)命名法混合使用大小写字母来构成标识符的名字printEmployeePaychecks()命名基本规则下划线命名法设备名_操作名()uart_tx_char()下划线分割小写字母的方式命名uint32test_offset局部静态变量,应加s_词冠(表示static)全局变量(尤其是供外部访问的全局变量),应加g_词冠(表示global)常量及宏采用下划线分割大写字
4、母的方式命名,一般应以设备名作为前缀宏定义__FILE__,__FUNCTION__,__LINE__#defineabc(x)aa##x#defineMAX(a,b)((a)>(b)?(a):(b))#defineSQURE(a)((a)*(a))SQURE(i++)格式说明数据空间大小32位PCChar8bitShort16bitInt32bitLong32bitFloat32bitDouble64bit共用体typedefunion{BYTEVal;struct__PACKED{__EXTENSIONBYTEb0:1;__EXTENSIONBYTEb1:
5、1;__EXTENSIONBYTEb2:1;__EXTENSIONBYTEb3:1;__EXTENSIONBYTEb4:1;__EXTENSIONBYTEb5:1;__EXTENSIONBYTEb6:1;__EXTENSIONBYTEb7:1;}bits;}BYTE_VAL,BYTE_BITS;volatile优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。(有效的防止编译器自动优化)Void和void*Void无类型Void*:无类型指针Void指针可以指向任意类型的数据,可用任意数据类型的指针对void指针赋值i
6、nt*pintVoid*pvoid;Pvoid=pint;void*memcpy(void*dest,constvoid*src,size_tlen);void*memset(void*buffer,intc,size_tnum);GCCGNUCCompilerGNUCompilerCollection预处理cpp–oa.i001.c[gcc-E]汇编cc1–oa.s001.c[gcc-S]编译as–oa.oa.s[gcc-c]链接collect2–oaa.o[gcc-o]
此文档下载收益归作者所有