C语言知识总结(近期笔试遇到的,锐捷,多米)

本文总结了C语言中的关键知识点,包括argv参数解析、字符串复制、数据类型大小、结构体与枚举、联合体内存分配、预处理指令、函数指针、数组与字符串处理、ASCII值对照、局部与全局变量作用域、结构体位字段、指针使用注意事项等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. argv 最后一个元素是空指针! 比如ls -l remind 分别是argv[0] argv[1] argv[2]  argv[3]为空指针

2. strcpy(char *s1,const char *s2)将s2中的字符复制到s1中直到s2遇到第一个空字符为止,并且s2的结束字符也复制进去了!!!

3. char 分为unsigned 无符号与有符号,int 4 float 4 double 8 short 2 

4.

	struct {
		int i;
		char c;
		enum suit{one,two,three,five,aaa};//这里定义了变量‘;’前面加上a
		char cc;
	}node;
其中枚举是不占空间的,这里有没有枚举sizeof(node)结果都是8,但是如果enum定义了变量a,那么将增加8字节

但是单独sizeof(suit)的结果是4;

如果是联合union,那么要算联合里面单个最大字节的那个;如果第一次给它赋值后再给它赋值,那么先前的值就不存在了!比如union里面有int,float,double,给double,然后给int,那么double就不存在了,输出不确定的值。

5.以防包含重复的头文件,还可以用#pragma + 命令 表示只执行一次

#ifndef _MAIN_
#define _MAIN_

#endif   
6.函数指针

int (*funArr[10])(float, char, char)
int result2 =(*funArr[0]) (12, 'a', 'b')

这是定义一个数组10个成员,每个成员是一个函数指针,参数为float,char,char,返回为int

7.对于整数数组可以通过sizeof(arr)/sizeof(int)来计算个数,字符串直接判断结尾字符即可

8.0的ASCII对应的是48,A对应的是65,a对应的是97,这个要牢记

9.局部变量与全局变量,局部变量所在的范围内会覆盖全局变量

10.cin使用空白来定字符串的界(空格,制表符,换行符),也就是只会读取第一个单词,遇到空白就结束。所以需要使用面向行的类成员函数,getline(),里面参数是数组名,数组长度。通过回车符判断输入结束。

11.结构中的位字段

struct {
	unsigned int age:4;		//低4位
	unsigned int in:4;		//接着4位
	bool ismax:1;
};
这样可以节约空间。

12.指针一定要在解引用之前给一个确定的地址。

13.引用本身不占空间

这些慢慢总结!马上要笔试了,下次接着写!(笔试高德)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值