【无标题】

**

初识C

总结一下在学C时的薄弱知识点

数据类型

char        1字节
short       2字节
int         4字节     
long        4/8字节
long long   8字节
float       4字节
double      8字节

关联知识点:每种数据类型对应的指针进行解引用时,使用的空间对应原类型的字节大小。

常量

常量可分为以下几种

  • 字面常量
  • const修饰的常变量
  • #define定义的标识符常量
  • 枚举常量
#include <stdio.h>
//举例
enum Sex
{
	MALE,
	FEMALE,
	SECRET
};
//括号中的MALE,FEMALE,SECRET是枚举常量
int main()
{
	//字面常量演示
	3.14;//字面常量
	1000;//字面常量
	//const 修饰的常变量
	const float pai = 3.14f; //这里的pai是const修饰的常变量
	pai = 5.14;//是不能直接修改的!
	//#define的标识符常量 演示
#define MAX 100
	printf("max = %d\n", MAX);
	//枚举常量演示
	printf("%d\n", MALE);
	return 0;
}

与const关联知识点:

  • const修饰指针有两种形式:
const * p
 * const p

前者表示*p整体不可被修改,即p指针指向内容不可被修改,但可以更换指向的对象。后者则相反。

  • const修饰的变量即常变量。
    它只是被语法层面被限制了不能被修改值,但他的本质还是变量,因此不能在初始化数组使用常变量来规定数组的长度。

转义字符

  • \? 在连续书写多个问号时使用,防止被解析成三字母词
    关于三字母词可以看看这位大哥写的博客。
    三字母词
  • \’ , \" , \\ 都是转义\后面的内容
  • \ddd \xdd 前者1~3个八进制数,后者2个十六进制数

操作符

  • 移位操作符

左移操作符>> :对应二进制补码直接左移,缺位直接补0
右移操作符<<:对应二进制补码右移,缺位补对应的符号位

  • sizeof()

单目操作符sizeof(),括号的中任何运算没有意义,如:
int i=8;
sizeof(i++);
printf(“%d”,i);
此时打印的i值仍然是8.
sizeof在编译期间就会被翻译成i++的数据类型的字节大小,即4;
并不会进行其中的运算,这并不是一个函数。

  • 逗号表达式

表达式1,表达式2,表达式3,表达式4
整个逗号表达式的值是最后一个表达式的值,即表达式4的值

常用关键字

  • typedef(类型重命名)

在数据结构中,常用在重命名结构体类型
或常用类型如typedef unsigned int

  • static(修饰变量和函数)

1.修饰局部变量时,使局部变量即使出了作用域,依然存在。影响生命周期
2.修饰全局变量,使全局变量只能在本源文件中使用,不能被其他源文件引用
3.修饰函数时也是同理。

#define定义常量和宏

在使用define定义的常量和宏,他的规则是直接把对应内容替换掉,因此需要注意括号的使用,以防出现歧义;

以上是我在初识C时的不太容易记的地方,欢迎各位大牛评论。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值