预处理及字符串易混淆点

本文介绍了C语言中的预处理指令,包括#include的两种形式和条件编译。同时,讲解了系统预定义符号常量如__LINE__、__FILE__等。在字符串操作方面,讨论了字符数组与指针的区别,strcpy函数的使用细节,如需确保目标空间足够,并能实现部分覆盖。此外,提到了strlen函数用于计算字符串长度,其计算时不包含结束符''。
摘要由CSDN通过智能技术生成

t#include  “ 文件.h ”    

预处理程序会先从当前编译文件所在目录或项目中寻找,如果没有找到会跳转到预先指定的编译器和系统目录继续查找

#include " 文件.h"   

预处理程序会直接从预先指定的编译器和系统目录查找

条件编译    #if   ...    #endif.... 搭配使用

系统预定义符号常量

__LINE__        当前源代码行号               一个整数

__FILE__        当前文件名                       一个字符串

__DATE__       编译日期                          一个字符串

__TIME__        编译时间                            一个字符串

考试易混淆点

1、定义字符型数组时如果没有初始化指向字符串,那后面就不能直接赋值字符串,只能通过strcpy函数拷贝,但是指针却可以,比如 char *p;    p=" nihaoya ";因为字符串是地址

2、strcpy( char *str01,char *str02) 将2的内容拷贝到1中,但注意1的空间要比2大,否则字符串结束标志'\0'无法存进去

注意:当1中有内容时会被2的内容完全覆盖,因为拷贝时将2中的结束标识' \0 '  也拷贝了,那读取的时候一遇到 结束标识就会停止

          也可让2从1的指定位置覆盖,如strcpy( str01+ 5,str02) 这样str02就会从str01的第六位开始覆盖,则1前面的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值