自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 指针类型的拓展—多级指针

int**q 可以把它分为两部分看,即 int* 和 (*q),后面 (*q) 中的“*”表示 q 是一个指针变量,前面的 int* 表示指针变量 q 只能存放 int* 型变量的地址。首先不管是多少级的指针变量,它都是一个指针变量,指针变量就是一个“*”,其余的“*”表示的是这个指针变量只能存放什么类型变量的地址。变量 q 中存放变量 *q 的地址,变量 *q 中存放变量 **q 的地址,变量 **q 中存放i的内容,即 10。而 q 的基类型是 int* 型,所以 &q 的基类型是 int** 型。

2023-05-06 09:04:11 211

原创 指针类型的拓展—数组指针

第三行:注意:[eax+edx*4],也就是把数组temp的地址 + i * 4 送入ecx里,这就是前面所说的“ *p+i 所指的是它在数组中的位置 ”的意思了。注意:指向数组和指向数组首元素的地址是两码事。p2在内存中指向的是这个数组的首地址,是和数组有关联的,而绝不仅仅是指向数组首元素的地址。指针p1和p2就单纯的指向了变量,p1指向了变量b的地址,p2指向的是a数组首元素的地址,而不是指向这个数组,它与整个的数组是无关的。()里是*p,先定义了指针,所以p是个指针,然后后面是[ ],才是数组,即。

2023-05-06 09:02:08 222

原创 指针类型的拓展—指针数组

第二个 printf() 语句中,parr+i 表示第 i 个元素的地址,*(parr+i) 表示获取第 i 个元素的值(该元素是一个指针),**(parr+i) 表示获取第 i 个元素指向的数据。arr 是一个指针数组,它包含了 3 个元素,每个元素都是一个指针,在定义 arr 的同时,我们使用变量 a、b、c 的地址对它进行了初始化,这和普通数组是多么地类似。需要注意的是,字符数组 str 中存放的是字符串的首地址,不是字符串本身,字符串本身位于其他的内存区域,和字符数组是分开的。

2023-05-06 08:57:21 187

原创 指针类型的作用

【代码】指针类型的作用。

2023-05-06 08:53:38 141

原创 C语言中的短路问题

只有当表达式1为真(⾮0)时才需要判断表达式2的值;只有表达式1和2都为真(⾮零)时;才需要判断表达式3的值。当表达式1为假(0),则发⽣短路,不执⾏表达式2和3,整个表达式值为0!只有表达式1为假(0)时才需要判断表达式2的值;只有表达式1和2都为假(0)时,才需要判断表达式3的值。当表达式1为真(⾮0),则发⽣短路,不执⾏表达式2和3,整个表达式值为1!表达式1 && 表达式2 && 表达式3;表达式1 || 表达式2 || 表达式3;

2023-05-06 08:49:33 299

原创 基本数据类型—自动类型转换规律

5、在赋值运算中,赋值号两边量的数据类型不同时,赋值号右边量的类型将转换为左边量的类型。如果右边量的数据类型长度比左边长时,将丢失一部分数据,这样会降低精度,丢失的部分按四舍五入向前舍入。如int型和long型运算时,先把int量转成long型后再进行运算。3、所有的浮点运算都是以双精度进行的,即使仅含float单精度量运算的表达式,也要先转换成double型,再作运算。b、若两种类型的字节数相同,且一种有符号,一种无符号,则转换成无符号类型。1、若参与运算量的类型不同,则先转换成同一类型,然后进行运算。

2023-05-06 08:44:38 403

原创 C语言中的溢出现象

0x7f---->0111 1111 那么该数据先换算成正常的数再执⾏加1操作(整数的补码是本⾝),那么加1变成:1000 0000这是-128的补码但是我们知道在signed char的数据中⼀共有8位,并且符号占1位,那么有7位数,所以最⼤是:0111 1111也就是127,所以128是溢出,所以我们直接显⽰溢出的那个数,那么上⾯的代码输出就是-128.1、signed char----------------->1位符号位,7位数据位,那么范围就是[-2^7,2^7-1];

2023-05-06 08:41:02 2024 1

原创 字符在屏幕上的显示原理

如果想要将整型的数字变为字符型,那么在数字后+'0'即可,例如7+'0'='7',反之对字符型的数字-'0'可以得到整型数字。\n\n答:例如\\n可以进行换行,\\t可以自动制表,如果想输出\\,那么需要在它的前面再加上一个\\。2.字符型常量的表示方式?\n\n答:如果是以影像或者八进制、十六进制的方式表达,那么需要在常量边上加上单引号'',如果是以十进制表达,那么就直接写上对应的十进制ASCII码值即可。\n\n答:字符型的本质是整型,他的字节数为1个字节,它属于定点存储,是8位的二进制数。

2023-05-06 08:36:18 452 1

原创 基本数据类型

因此如何用最大化、最合理、最优解的方式让最小内存发出最大的作用,就成为了当时的程序员首要考虑的问题。单精度类型,float,所占存储空间大小为4个字节,存储的数字范围在-3.4x10^-38 ~ 3.4x10^38。短整型,short,所占存储空间大小为2个字节,存储的数字范围在-2^15 ~ 2^(15) -1。长整型,long,所占存储空间大小为4个字节,存储的数字范围在-2^31 ~ 2^(31)-1。整型,int,所占存储空间大小为4个字节,存储的数字范围在-2^31~ 2^(31)-1。

2023-05-06 08:30:21 974 1

原创 从源代码到exe

我们在fun.c模块中定义了函数foo(),在main.c模块中引用了foo()函数,在编译过程当中,编译器并不知道main.c中foo()的地址,所以将调用foo()的指令的目标地址部分搁置,曾经,程序猿门在编程时,使用纸带作为最原始的存储设备,每当程序需要修改时,都要重新扎一条纸带,扎孔的表示1,不扎的是0,一串串1和0就组成了各种各样的指令——跳转等等…发展到如今,软件的规模越来越大,代码动辄数百万行代码,放在一个模块那是万万不行的,维护起来会非常麻烦,所有现在的大型软件往往拥有成千上万的模块,

2023-05-06 08:23:05 1805 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除