一:源码  反码  补码

 1.EOF(end of file) ——文件结束标志  值为 -1

 2.负数在内存中储存的时候,储存的是二进制的补码,而使用,打印的是这个数的源码

 3.源码   ——>  第一个二进制数不变其他相反得到  反码 

  11111                       10000               

  反码   ——>  在反码二进制上 +1   得到   补码

  10000                       10001

如下图:

C语言笔记(三)_补码

补充:1.最高位的2进制里面放的是符号位

   2.只要是整数,内存中存放的都是二进制的补码 

   3.正数 —三码相同

二:关键字,类型

  1.关键字是不能变量冲突

  2.typedef (类型重命名)   ——张三   别名   阿三

       3.static   修饰局部变量   ——>局部变量的生命周期延长,改变了变量的作用域

         static   修饰全局变量    ——>让静态的全局变量是只能在自己所在的文件内部使用,在外部无法使用

                     修饰函数          ——>也是改变了作用域,改变了函数的链接属性,外部属性变成内部属性

      4.extern    ——声明外部变量     (新在外建一个,在旧的里面声明)

      5.#define     ——定义常量和宏                宏:带参数

三:指针

         小提示:在32位机里面是4个字节,在64位里面是8个字节    

     1.有一种变量是用来存放地址的   ——指针变量      int  * p          *:解应用操作符

C语言笔记(三)_补码_02

include<stdio.h>
int main()
{
int a=10; //申请了4个字节空间
printf("%p\n",&a); //打印a的地址
int * p = &a; //p是一个变量 ——指针变量 *:语法形式告诉我们p是一个指针变量
*p = 20 ; //解引操作符&间接访问操作符
printf("a = %d\n",a)//打印变更后的a
return 0 ;
}

四:结构体   ——由不同类型数据组成的组合型的数据结构 

         下面由一个实列来演示一下

1.

include<stdio.h>
include<string.h>

struct Book
{char name[20}; //C语言程序设计
short price; //55
};
int mian()
{
//利用结构提类型创建一个该类型的结构体变量
struct Book b1 ={"C语言程序设计",55};
printf("书名 : %s\n", b1.name);
printf("价格 : %d\n", b1.price);
b1.price=15;
printf("修改后的价格: %d\n",b1.price);
return 0;
}

2.

include<stdio.h>
include<string.h>
struct Book
{
char name[20];//C语言程序设计
short price;
};
int main()
{
struct Book b1 = { "C语言程序设计",55};
struct Book* pb = &b1;
printf("%s\n", (*pb).name); //(*pb)=b1
printf("%d\n", (*pb).price);
// .:结构体变量.成员 —>:结构体指针—>成员
printf("%s\n", pb->name);
printf("%d\n", pb->price);
return 0;
}

到目前为止,都还只是一个熟悉大概的过程,后面讲到例子的时候,会在仔细的讲一遍,所涉及到的知识

我所概括的,可能有错的地方,希望大家能够帮我指正出来,让我可以加以改正,谢谢