![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
基于Visual Studio实现C语言
神游患者╭
记录自己的编程之路
展开
-
[C语言]指针的计算和大小
中,所有的数据都是存放在存储器中的,不同的数据类型占有的内存空间的大小各不相同。在 C/C++语言中,指针一般被认为是指针变量,指针变量的内容存储的是其指向的对象的首地址,指向的对象可以是变量(指针变量也是变量),数组,函数等占据存储空间的实体。,指针变量是用来存放内存地址的变量,在同一CPU构架下,不同类型的指针变量所占用的存储单元长度是相同的,而存放数据的变量因数据的类型不同,所占用的。在 C 语言中,允许用指针变量来存放指针,因此,一个指针变量的值就是某个内存单元的地址或称为某内存单元的指针。原创 2023-03-19 18:18:39 · 491 阅读 · 0 评论 -
VS文本编辑框行号显示
2.左边选择 文本编辑器——C/C++,右边设置中勾选行号。1.点击 工具——选项。原创 2023-03-05 20:31:54 · 1068 阅读 · 1 评论 -
[C语言]操作符的属性
两个相邻的操作符先执行哪个?取决于它们的优先级。如果两者的优先级相同,取决于它们的结合性。sizeof rexp sizeof(类型)复杂表达式的求值有三个影响的因素。(3)是否控制求值顺序。(1)操作符的优先级。(2)操作符的结合性。取其长度,以字节表示。原创 2023-03-03 16:31:26 · 45 阅读 · 0 评论 -
[C语言]隐式类型转换——算术转换
如果某个操作符的各个操作数属于不同的的类型,那么除非其中一个操作数的转换为另一个操作数的类型,否则操作就无法进行。原创 2023-03-03 16:27:34 · 34 阅读 · 0 评论 -
[C语言]隐式类型转换——整型提升
所以,表达式中各种长度可能小于int长度的整型值,都必须先转换为int或unsigned int,然后才能送入CPU去执行运算。表达式的整型运算要在CPU的相应运算器件内执行,CPU内整型运算器(ALU)的操作数的字节长度一般就是int的字节长度,同时也是CPU的通用寄存器的长度。因此,即使两个char类型的相加,在CPU执行时实际上也要先转换为CPU内整型操作数的标准长度。C的整型算术运算总是至少以缺省整型类型的精度来进行的。原创 2023-03-02 20:56:14 · 51 阅读 · 0 评论 -
[C语言]逻辑与(&&)和逻辑或(||)的特点
对于逻辑与操作而言,如果第一个操作数是假,则无论第二个操作数是什么值,结果都不可能是真,相当于短路了右边。在逻辑“或”表达式为 true 时,这将消除对第二个操作数的不必要的计算。只有当所有条件都不满足是,结果才不出现,这种因果关系就称为“逻辑或”。逻辑“或”运算符的操作数不需要是同一类型,但是它们必须是整型或指针类型。结论:逻辑或(||)从左到右有一个为真(不为0)表达式为真,后边不在计算。”,就是两个条件都同时成立的情况下“逻辑与”的运算结果才为“真”。逻辑与,符号为“&&”,只有两个。原创 2023-03-02 17:56:19 · 1019 阅读 · 0 评论 -
[C语言]数组的传递
2. &arr(取数组地址)和arr(数组首元素)的值虽然相同但是意义不一样,数组地址+1是加了整个数组大小,而数组首元素+1是加了一个数组元素的大小。结论:1. arr(数组名)=&arr[0](数组首元素),数组名就是数组首元素地址。(1)sizeof(数组名)-数组名表示整个数组-计算的是整个数组的大小单位是字节。(2)&数组名-数组名表示整个数组-取出的是整个数组的地址。我们在写代码的时候,会将数组作为参数传给函数。原创 2023-02-25 20:05:23 · 1617 阅读 · 0 评论 -
[C语言]自定义函数传址调用和传值调用
在计算机科学中,子程序(英文:Subroutine,procedure,function,routine,method,subprogram,callable unit),是一个大型程序中的某部分代码,由一个或多个语句块组成。从调试中可以看到,传递过去的是a和b的值,x,y接收了a,b值,交换的是x和y的值,对a,b并没有影响。在调试中可以知道,Swap2()中传递的是a,b的地址,指针变量x,y存储的是a,b的地址,在交换过程中从x,y中找到a,b的地址然后在交换内容。在函数定义中的参数x,y等都是。原创 2023-02-21 23:03:40 · 157 阅读 · 0 评论 -
C语言:static关键字
(注:全局变量在其它源文件内部可以被使用是因为全局变量具有外部链接属性,但是被static修饰之后,就变成了内部链接属性,其它源文件就不能链接到这个静态的全局变量了!static修饰局部变量,改变了局部变量的生命周期(本质上是改变了变量的存储类型)存储类型:栈区-局部变量/函数的参数、堆区-动态内存分配的、静态区-全局变量/static修饰的静态变量。static是用来修饰变量和函数的。(1)修饰局部变量-静态局部变量(2)修饰全局变量-静态全局变量(3)修饰函数-静态函数。3.static修饰函数。原创 2023-02-15 22:35:45 · 43 阅读 · 0 评论 -
C语言单目操作符‘~’
(注:-1的反码11111111 11111111 11111111 11111110,-1的原码10000000 00000000 00000000 00000001)a赋值0存入计算机内存的是0的补码,‘~’是把存入计算机内存0的补码按位取反,取反后的补码翻译成原码是-1,所以最后结果输出是-1。一个整数的二进制表示有3种:原码、反码和补码。原码:00000000 00000000 00000000 00000000。补码:00000000 00000000 00000000 00000000。原创 2023-02-14 21:12:13 · 825 阅读 · 0 评论 -
C语言数组相关问题
可以看到ch字符数组下标0,1,2存储的是a,b,c数组下标3,4默认填充0。创建大小为5的ch字符数组,赋初始值为a,b,c。数组是通过数组下标来访问的,数组下标从0开始。类型 数组名[数组个数]={数组元素};数组不完全初始化时,剩余元素默认填充0。原创 2023-02-14 13:01:52 · 47 阅读 · 0 评论 -
基于VS实现C语言,错误代码C4996
错误C4996:'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. P4_Sentence D:\STUDY\Code2023\self-c-code\P4_Sentence\P4_Sentence\sentenc.c 6。原创 2023-02-13 21:06:38 · 246 阅读 · 0 评论