C语言核心知识点

大小端,高地址和低地址

小端字节序:低字节数据存放在内存低地址处,高字节数据存放在内存高地址处。

大端字节序:高字节数据存放在低地址处,低字节数据存放在高地址处。

高地址:内存地址可以对应十六进制的数值,值大的为高地址,否则为低地址。

整数类型内部:低地址存储低位,高地址存储高位。
局部变量:先定义的高地址,后定义的低地址。
类,结构体,数组:先定义的低地址,后定义的高地址。
     数组实际占用的空间,要比元素大,感觉上像是给数组名本身一个“指针类型”的空间,即4个字节。

原码反码和补码

原码:最高位作为符号位(1表示负,0表示正),其它数字位代表数值本身的表示方式。

反码:如果是正数,表示方法和原码相同;

           如果是负数,符号位不变,其余按位取反,则得到这个数字的反码表示形式。

补码:如果是正数,表示方法和原码相同;

           如果是负数,则将数字的反码加1(相当于将原码按位取反然后最低位加1)。

注:原码、反码、补码主要看它的字型数据

      如果字型数据占8位,那么它的原码、反码、补码都是8位;

      如果字型数据占16位,那么它的原码、反码、补码都是16位。

计算机中,二进制位以补码格式存储于内存;十进制数是以二进制形式进行逻辑运算的。

下标引用、函数调用和结构成员

1.[  ]下标引用操作符

   操作数:一个数组名+一个索引值

   int arr[10];//创建数组

   arr[9]=10;//实用下标引用操作符

    [  ]的两个操作数是arr和9

2.( )函数调用操作符接受一个或多个操作数:第一个操作数是函数名,剩余的操作数就是传递给函数的参数。

x++与++x的区别

1.简单的表达式中x++和++x表示着相同的意思,比如常用于for循环语句中;

2.当递增或者递减的运算结果被直接用在其他表达式中,x++与++x就代表着不同的意思了

++x:变量x的值先增加,再计算整个表达式的值

x++:变量x的值在表达式计算后再增加

数组名表示数组首元素地址,但是有2个例外:

1.sizeof(数组名),数组名单独放在sizeof内部,数组名表示整个数组,计算的是数组的大小,单位是字节。

2.&数组名,数组名表示整个数组,取出的是数组的地址,数组的地址和数组首元素地址的地址,值是一样的,但是类型和意义是不一样的。

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值