【C语言航路】第十站:指针(三)深刻理解指针运算
一、深刻理解指针和数组对于指针和数组,我们必须要要知道的几个核心原则是:1.sizeof(数组名),数组名代表的是整个数组,计算的是整个数组的大小2.&数组名,数组名代表的是整个数组。取出的是整个数组的地址3.除此之外,所有的数组名都是首元素的地址1.一维数组#include<stdio.h> int main() { int a[] = { 1,2,3,4 }; p...
【C语言航路】第十站:指针进阶(二)
六、函数指针数组我们已经知道了函数指针,它的类型是int(*)(int,int)。那么我们能否进行推广呢?将其推广成一个数组,答案是可以的。我们只需要加上一个[],就成了数组如下代码所示#include<stdio.h> int my_strlen(const char* p) { return 0; } int main() { //pf是函数指针 int (*pf)(...
【C语言航路】第十站:指针进阶(一)
一、字符指针我们知道指针有一种类型叫做字符指针char*,他一般是下面这种使用的#include<stdio.h> int main() { char ch = 'w'; char* pc = &ch; *pc = 'a'; printf("%c", ch); return 0; }当然这是一种最基本的使用方法,其实还有一种使用方法是这样的,如下图所示,看...
【C语言航路】第九站:数据的存储(下)
(3)#include <stdio.h> int main() { char a = 128; printf("%u\n",a); return 0; }题目解析#include <stdio.h>int main(){ char a = 128; //128的原码为:00000000 0000...
【C语言航路】第九站:数据的存储(上)
一、数据类型介绍1.基本的内置数据类型这部分我们在一开始的时候已经说过了,如下表所示charshortintlonglong longfloatdouble//字符数据类型//短整型//整形//长整型//更长的整形//单精度浮点数//双精度浮点 这些内置数据类型也有他们的意义:1.使用这个类型开辟内存空间的大小(大小决定了使用范围)2.如何看待内存空间的视角2.类型的基本归类整型家族char&am...
【C语言航路外传】隐式转换与优先级的那点事(你程序总是出bug的一个重要原因)
一、表达式求值在我们前面介绍了那么多的操作符,我们肯定肯定是需要使用他们的,在使用他们的时候,就会出现各种各样很奇怪的状况。这是因为我们还没有了解一些优先级相关的知识和一些隐式类型转换的问题。所以,我们这部分就来仔细描述一下有关类型转换的那些事。表达式求值的顺序一部分是由操作符的优先级和结合性来决定的同样,有些表达式的操作数在求值的过程中可能需要转换为其他类型二、隐式类型转换1.基本概念所谓隐式....
【C语言航路】第八站:调试(二)
四、一些调试的实例在我们前面说了那么多调试的步骤方法快捷键以及每一个窗口的功能之后,那么我们就需要练习几个有问题的代码进行调试修改。1.实例一题目:实现代码:求 1!+2!+3! ...+ n! ;不考虑溢出。代码:#include<stdio.h> int main() { int i = 0; int sum = 0;//保存最终结果 int n = 0; int...
【C语言航路】第八站:调试(一)
一、什么是bug我们很多人在写代码的时候经常听到这样的话术,又出bug了。那么什么是bug呢?其实bug这个词来源于第一次将一次被发现的导致计算机错误的飞蛾,也是第一个计算机程序错误。从此我们就将bug称作计算机程序出现了问题。二、调试是什么?有多重要?所有发生的事情都一定有迹可循,如果问心无愧,就不需要掩盖也就没有迹象了,如果问心有愧, 就必然需要掩盖,那就一定会有迹象,迹象越多就越容易顺藤而....
【C语言航路】第七站:结构体初阶
一、结构体的声明1.结构的基础知识结构是一些值的集合,这些值称为成员变量,结构的每个成员可以是不同类型的变量2.结构的声明struct tag{ member-list;}variable-list;其中,tag是结构体标签,是可以根据需求进行更改的struct tag是结构体类型member-list是结构体成员(成员列表)variable....
【C语言航路】第六站:指针初阶(下)
(3)指针指向的空间释放我们看这个代码#include<stdio.h> int* test() { int a = 10; return &a; } int main() { int* p = test(); printf("%d", *p); return 0; }这个代码也是,a是一个局部变量,返回的时候a已经被销毁了,此时的这个地址就是一个野指针。...
本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。
开发与运维
集结各类场景实战经验,助你开发运维畅行无忧
+关注