c笔记_0

本文介绍了C语言中的变量声明、内存分配规则(包括整数和浮点数),指针概念(如大小和空指针),运算符的结合性,以及const关键字的作用。还提到输出地址值的特殊符号%p和浮点数的表示方法。
摘要由CSDN通过智能技术生成

1:变量声明

int a;

这句声明会确定两个东西,内存大小,内存的分析方式。

内存大小:比如int一般占四个字节;

内存的分析方式:声明变量为 int 类型,意味着在对这段内存进行读取和写入操作时,会按照整数的方式来解析和处理这段内存。如果是float类型,就按照float的方式。计算机内部在处理这些不同类型数据时,是有各种不同的规则的。

2:指针大小

指针变量的大小一定是系统位数这么大。

64位系统,指针就有64位,也就是8字节大小。32位系统,就是4字节大小。

因为指针就是地址,内存地址是多少位,指针就是多少位。

3:空指针

int *p;

声明了一个指针出来,那么总是的用它的,如果整个程序中都没写让它指向某个地址,

那么这个指针就是野指针。

int *a = NULL;

在声明时把NULL赋值给它,这个指针就是个空指针。

没有掌握指针的状态是一件很危险的事,使用指针时,野指针不一定会报错

但空指针会,这样就可以掌握指针的动向。

4:c语言的基本组成单位是函数。这句话基本正确。

5:运算符的结合性

  1. 从左到右的结合性:如果一个运算符是从左到右结合的,那么同级别的运算符将从左边开始依次计算。大多数运算符,比如加法(+)、减法(-)、乘法(*)和除法(/),都是从左到右结合的。例如,在表达式 a + b + c 中,首先计算 a + b,然后将结果与 c 相加。

  2. 从右到左的结合性:如果一个运算符是从右到左结合的,那么同级别的运算符将从右边开始依次计算。赋值运算符(=)和大多数单目运算符(如递增 ++、递减 --、逻辑非 ! 等)是从右到左结合的。例如,在表达式 a = b = c 中,首先计算 b = c,然后将这个结果赋给 a

x=(i=4,j=16,k=32);

查优先级表,逗号是从左往右,所以括号中的值最终为32。

int a = (1,2,3);
printf("%d\n", a);

会选取最后一个值,所以会输出3。

6:浮点数,.的前面或者后面什么也不写是合法的。

float a = .123;
float b = 123.;
//输出:
//123.000000
//0.123000

2e3这样的指数,e后面只能是整数,e前面也不能不写值。

7:const

const关键字,防卧龙凤雏神器。要清楚哪些量可改,哪些量不可改,比如函数的指针型参数,

很多时候就这样限制通过指针改数据。

8:int c = +001;

int c = +001;

这样是允许的。

9:%p

%p是输出地址的值,如果以%d去输出&a的话,有可能会导致错误。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值