自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 c++:全局作用域和块作用域,外层作用域和内层作用域

1.外层作用域中定义的变量在内层作用域中仍然可以使用2.内层作用域中定义的变量在外层作用域中不能使用3.在内层作用域中可以对外层作用域重新定义注意:重新定义是定义了一个新的只属于这个内层作用域的变量(名字可以不变),原本的那个外层作用域中的变量未受到影响,这个新定义的内层作用域里的变量只能在这个内层作用域中使用。(可以通过::来在内层作用域中使用全局作用域中的变量)4.在内层作用域中可以对外层作用域中的变量更改(非重新定义)注意:在这种情况下,内层作用域并未新定义一个变量,而是对原本外层作用域中

2021-03-27 20:44:44 1141

原创 自己遇到的小问题集锦

1.尽量不要在for循环中声明变量(除非这个变量只在这个循环中使用),因为for循环中声明的这个变量只是属于这个循环的一个局部变量,在其他位置都无法使用。

2021-02-03 10:51:35 100

原创 ar[]到底是数组还是指针?

一、如果是直接声明int ar[],则表示的是一个数组。且这个数组的大小由后面大括号中元素的数量来定。(必须声明时初始化,否则会报错)二、如果是在函数形参中声明int ar[],则表示的是一个指针,此时与int *ar 是完全相同的,只不过前者强调这个指针将指向数组。...

2020-12-11 20:03:01 420 1

原创 菜鸡本鸡的新问题

今天,笔者在学习字符串时,在字符串的初始化和赋值上发现了新问题,那就是如果对字符数组的整体赋值,必须也只能在初始化时就对其赋值。而如果要在初始化之后再对其进行赋值,就不能对字符数组的整体赋值,只能对字符数组的各个元素一个挨着一个的赋值。情况如图。至此,问题解决。(当然,如果是在初始化之后,通过fgets()等输入函数来填充字符数组的话还是没有问题的)...

2020-12-09 21:04:29 155

原创 深究指针表示法在数组中的应用

不说废话,直接入题。先来看看正确的指针表示法的使用方法。1.对于一维数组,想用正常的指针表示法,就必须让指针指向数组的首元素。对于多维数组,也是这样,只不过指针指向的是首个数组。再来看看错误的指针表示法会发生什么情况。1.在一维数组中,指针指向的不是首元素而是其他元素。在这种情况下,ar[0]是指向的位置的那个元素,ar[1]是指向的那个位置的下一个位置的元素,以此类推。2.在多维数组中(以二维数组为例),指针指向的是数组,但不是首个数组。此时与1.中的情况类似,ar[0][0]表示的是第二个

2020-12-04 21:05:03 349

原创 C语言中关于数组和指针的tips

大家知道,数组名字可以表示数组首元素的位置。现在声明一个指针ar,两个数组file,两个整形变量a,b。ar++正确,file++错误,a++正确,ar=file+1错误。这是为什么呢?因为我们忽略了一个本质。那就是a++实际上是a=a+1。ar的指向可以改变,所以正确。但是数组名字表示数组首元素的位置是固定的,不能被改变,所以错误。a++会改变a的值,但是b=a+1并不会改变a的值。...

2020-11-23 20:39:13 94

原创 语句tips

整个循环语句,如for循环,都会被看做是一条语句。整个if语句也是被看作成一条语句

2020-11-14 20:55:08 60

原创 强制转换tips

1.(float)a/b是把a强制转换成浮点数,但在计算过程中b会自定转化成浮点数(float)(a/b)是把(a/b)这个整体强制转换成浮点数所以,需要注意括号的用途

2020-11-14 20:25:30 170

原创 计算各声明类型能表示的数的范围的方法

要想解决这个问题,首先需要知道该声明的位数。众所周知,计算机使用二进制来存储。每个位就是0或1。位的数量即2进制的最大位数,在二进制数中每个位都设置为1,最后计算得来一个十进制的数(奇数)如果是无符号类型,表示的范围就是0~这个数如果是有符号类型,先用这个数减去1,再除以2,得到的结果假设为a,表示的范围就是负(a+1)~a...

2020-11-14 19:22:32 120

原创 浮点数

3是整数,3.0才是浮点数。浮点数的特征之一就是小数点。

2020-11-14 10:45:01 356

原创 C语言中的四舍五入和截断

长期更新,如果发现新的情况就会更新四舍五入的情况:1.用转换说明修饰符保留多少位时,如%.2f。截断的情况:1.将浮点型转化为整型时,小数点后面的会直接被截断,就算是0.9也会变成0。

2020-11-14 09:59:32 1690

原创 八进制,十六进制和浮点数

在c语言中,八进制,十六进制的全称是八进制整数和十六进制整数。所以虽然在数学中存在01.1,0x1.1的写法,但在c语言中是不可以的。(从百度中总结得来)只有整数可以用八进制,十六进制表示,浮点数不可以但是c99标准新增添了一种可以用十六进制表示浮点数的p计数法。如0xa.1fp10。p后的数代表2的多少次幂(即指数)。p前的数代表底数。于是该数表示为0xa.1f乘以2的10次幂(并非所有的编译器都支持c99的这一特性)...

2020-11-14 09:32:58 1941

原创 如果全局变量,局部变量未初始化,会发生什么

对于全局变量,如果未初始化,值就是0。对于局部变量,如果未初始化,值就是-858993460

2020-11-13 20:19:09 794

原创 关于输入函数和缓冲区的思考,实践与总结

笔者是一名c语言初学者。在学习《c primer plus》时关于getchar()和缓冲区产生了疑惑。疑惑点在于是否每次执行getchar()时都要从用户处获取一次内容,倘若是这样的话,那么它是从用户输入中获取第一个字符,还是从缓冲区中呢?因此,笔者对于此疑惑进行了实验,解答了心中的疑惑。1.当缓冲区中没有内容时,getchar()会要求用户输入内容(输入的内容存放在缓冲区中),并从缓冲区中读取第一个字符。然后缓冲区中的剩余的内容并未被getchar()获取,仍然留在缓冲区中(包括换行符)2.当缓

2020-11-08 09:50:43 223 1

空空如也

空空如也

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

TA关注的人

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