C语言深度剖析 -- 第一课 基本数据类型

第一课 -- 基本数据类型分析

任何编程语言,它都要操作存在内存中的数据,

变量的本质是内存中一段数据空间的别名

 1 #include <stdlib.h>
 2 #include <stdio.h>
 3
 4 //自定义一些数据类型
 5 typedef int INT32;
 6 typedef unsigned char BYTE;
 7
 8 typedef struct _demo
 9 {
10     short s;
11     BYTE b1;
12     BYTE b2;
13     INT32 i;
14 }DEMO;
15
16 int main()
17 {
18     //创建一些变量
19     INT32 i32;
20     BYTE byte;
21     DEMO demo;
22
23     //
24     printf("%d, %d\n", sizeof(INT32), sizeof(i32));
25     printf("%d, %d\n", sizeof(BYTE), sizeof(byte));
26     printf("%d, %d\n", sizeof(DEMO), sizeof(demo));
27     return 0;
28 }
时间: 2024-11-10 16:43:39

C语言深度剖析 -- 第一课 基本数据类型的相关文章

读书笔记之:C语言深度剖析

读书笔记之:C语言深度剖析 <C 语言深度解剖>这本书是一本“解开程序员面试笔试的秘密”的好书.作者陈正冲老师提出“以含金量勇敢挑战国内外同类书籍”,确实,这本书中的知识点都是一些在面试中常见的考点,并且很多都是我们平常不注意的点,对于我们深入理解C语言确实很有帮助. 第1章关键字 1.register虽然寄存器的速度非常快,但是使用register修饰符也有些限制的:register变量必须是能被CPU寄存器所接受的类型.意味着register变量必须是一个单个的值,并且其长度应小于或等于整

[ 1011] &lt;&lt;C语言深度剖析&gt;&gt; 测试 TEST

/******************************** **  wzsts<C语言深度剖析>2016 ** **                    ** **     fun1~fun6代表6章节内容 ** **fun10~fun19代表fun1所调用函数 ** **                    ** **     世界因规则而美好     ** ** #if(1)可运行,#if(0)不运行. ** ** Data  Author   PC       ** **16

C语言基础课程 第一课 Linux环境配置小实战httpserver

?? C语言基础课程 第一课 Linux环境配置小实战httpserver 首先环境需要的是redhat虚拟机操作系统 打开redhat 防火墙 2.将WWW(HTTP)勾选上 3.点击apply 点击是 4.切换到root用户 输入正确的root密码 5. 启动http服务 6.输入ifconfig 查看当前ip 痛 7.通过分析我们知道 他是一个局域网的ip   windows可以通过net 或者 主机模式与Linux进行通信 如果不想改变本地ip地址的话  我们需要改变虚拟机的ip地址 和

编程珠玑之关键字(1)--《c语言深度剖析》整理(转)

一.最快关键字register 关键字regiter请求编译器尽可能的将变量存在CPU的寄存器中.有几点注意的地方. 1.register变量必须是能被CPU寄存器所接受的类型,这通常意味着register变量必须是一个单个的值,并且其长度应小于或等于整型的长度. 但是,有些机器的寄存器也能存放浮点数. 2.register变量可能不存放在内存中,所以不能用取址符运算符“ & ”. 3.只有局部变量和形参可以作为register变量,全局变量不行. 4.静态变量不能定义为register.  总

C语言基础 第一课 ---------基本数据类型,常量,变量

int main() { //单行注释:注释一行 /* 多行注释:在这个区间内,都属于多行注释,可以换行. */ #pragma mark---基本数据类型---- /* char   字符类型    包含: ‘a~z’ ‘A~Z’ ‘0~9’等等 int    整型类型    包含: 数字1234567890 等等 float  浮点型      包含: 数字1.2 2.5等等 short  短整型      包含: 数字123456789等等 long   长整形      包含: 数字12

《C语言深度剖析》笔记

关键字: C语言关键字32个: 关键字                                         意 义 auto                           声明自动变量,缺省时编译器一般默认为 auto int                               声明整型变量 double                       声明双精度变量 long                            声明长整型变量 char         

C语言进阶剖析第二课--有符号和无符号

①计算机中的符号位 数据类型的最高位用于标识数据的符号 -最高位为1,表明这个数为负数 -最高位为0,表明这个数为正数 ②在计算机内部用补码表示有符号数 正数的补码为正数本身: 负数的补码为负数的绝对值各位取反再加1: ③在计算机内部用原码来表示无符号数 -无符号默认为正数 -无符号数没有符号位 对于固定长度的无符号数 MAX_VALUE + 1 =  MIN_VALUE MIN_VALUE - 1 = MAX_VALUE ④如果无符号数和有符号数相加,有符号数会转成无符号数,并且如果有符号数是

C语言深度剖析——读书笔记

1. 什么是定义,什么是声明? 定义:编译器创建一个对象,并为这个对象分配一块内存,给它取上一个名字. 声明:1>告诉编译器这个名字已经已经分配到一块内存上了 2>告诉编译器这个名字已经被预定了,别的地方不能再用它来作为变量名或对象名. 2. auto: 在缺省的情况下,编译器默认所有的变量都是auto的, 3. register: register变量必须是单个的值,并且其长度应该小于或等于整形的长度,而且register变量可能不存放在内存中,所以不能用&--取地址符来获取regi

C语言深度剖析自测题8解析

#include <stdio.h> int  main(void) {    int  a[5] = {1, 2, 3, 4, 5}; int* ptr1 = (int*)(&a + 1); int* ptr2 = (int*)((int)a + 1); printf("%x, %x\n", ptr1[-1], *ptr2); } 这个题目主要是考了两个知识点一个是指针的知识,第二个是大端机和小端机的知识 首先需要明确x86是小端机,所以它的数值在各个字节中的顺序