首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    C语言进阶——指针进阶

    我们在指针初阶中介绍了指针的基本概念:如指针大小、野指针问题、指针间的关系运算等,在我们的指针进阶中,将会对指针进行进一步剖析,见识更深的指针!...图片来源:新浪网 ---- 正文   我们将在指针进阶中学习各种各样指针,比如字符指针、数组指针、函数指针等,这些指针种类虽多,但能力都很强大,作为进阶系列文章,涉及知识多多少少有点难度,但我们相信无论多么大的困难都无法阻挡我们的学习之路...,35} }; int sz_str = sizeof(s) / sizeof(s[0]);//结构体型部分 qsort(arr_c, sz_c, sizeof(arr_c[0]), cmp_c);...arr, sz, sizeof(arr[0]), cmp); //同样的模仿qsort函数传参 print(arr, sz);//打印函数 return 0; } ---- 总结   到这里指针进阶的基本内容已经介绍完了...当然指针进阶还有很多联系等着我们去挑战,我们的目标很简单——征服C指针,然后去实现我们的梦想!

    16511

    【C】指针进阶

    指针的进阶 本章重点 字符指针 数组指针 指针数组 数组传参和指针传参 函数指针 函数指针数组 指向函数指针数组的指针 回调函数 指针和数组面试题的解析 指针的主题,我们在初级阶段的《指针》章节已经接触过了...ps指向的是字符串的首字符 //printf("%s\n", *ps);//%s打印的是字符串的内容 //*ps = 'w';//常量字符串不可以修改,这里的写法是错误的 //printf("%c\...const来修饰,防止通过p修改字符串 const char ps = “abcdef”;//这里的ps指向的是字符串的首字符 要想修改字符串中的内容需要用到数组: char arr[]="a b c...C/C++会把常量字符串存储到单独的一个内存区域,当 几个指针。指向同一个字符串的时候,他们实际会指向同一块内存。但是用相同的常量字符串去初始化 不同的数组的时候就会开辟出不同的内存块。...void test(char **p) { } int main() { char c = 'b'; char*pc = &c; char**ppc = &pc; char* arr[10]; test

    19920

    ​Linux 磁盘管理进阶

    Linux 磁盘管理进阶 磁盘分区介绍 基本分区(primary partion)   基本分区也称主分区,引导分区、每块磁盘分区主分区与扩展分区加起来不能大于四个。   ...如:hda5、hda6 .. hda、hdb、hdc、hdd   增一块按磁盘后面按字母顺序名称   a为基本盘,b为基本从属盘,c为辅助主盘,d为辅助从属盘 fdisk 命令使用 用途:观察硬盘之实体使用情形与分割硬盘用...-L 'LABEL':设置卷标; -j:创建ext3文件系统,mkfs.ext3自带了该选项; -N:设置inode节点的数量; -m:设置为文件系统预留的块的百分比; -c:在创建文件系统前进程硬盘自检...mkswap可将磁盘分区或文件设为Linux的交换区。 语法: mkswap -cf-v1交换区大小 参数: -c 建立交换区前,先检查是否有损坏的区块。...开启SWAP分区 Linux swapon命令用于激活Linux系统中交换空间,Linux系统的内存管理必须使用交换区来建立虚拟内存。

    2.5K00

    Linux进阶-总结篇

    经过我们前面9大章的介绍,我们今天给Linux进阶做一个总结。 第一章 Linux硬件 在硬件部分,我们首先介绍的就是ipmi,俗称带外,我们可以通过它完成对服务器的初始化的一些设置。...第二章 Linux日常运维 在Linux的日常运维中,我们主要介绍的一些基本的运维技巧,包括主机名和hosts,它可以满足一些软件用来标识机器和代替域名解析。...第四章 Linux日志 Linux日志,我们首先介绍的就是日志大集合的message日志,然后介绍4个和登录相关的日志。然后就是任务任务和监控日志sar。...及Linux的日志系统journal和内核日志dmesg和kdump。 第五章 Linux进阶命令 Linux进阶命令,首先就是介绍时间命令date,打印命令echo和别名命令alias。...第八章 Linux内核 Linux内核,介绍了内核的升级方式和查看加载内核模块和参数,然后介绍了3个虚拟文件系统。

    10200

    C进阶:预处理

    二.翻译环境 从.c 文件到 .exe 文件需要经过编译器的翻译,而翻译又分为 编译和链接两个部分 编译又分为三个部分: 1.预编译:又叫预处理,在这个部分主要完成头文件的包含,#define的替换...进行编译的源文件 __LINE__ //文件当前的行号 __DATE__ //文件被编译的日期 __TIME__ //文件被编译的时间 __STDC__ //如果编译器遵循ANSI C,...嵌套文件包含 comm.h和comm.c是公共模块。 test1.h和test1.c使用了公共模块。 test2.h和test2.c使用了公共模块。...test.h和test.c使用了test1模块和test2模块。 这样最终程序中就会出现两份comm.h的内容。这样就造成了文件内容的重复。 如何防止这种问题出现?...C++编程指南》中的两个问题 1.

    15210

    【C++】模板进阶

    return 0; } 2.C++的array类对标C语言静态数组 1....C++搞出来非类型模板参数的array类,实际对标的就是C语言的静态数组,array的第二个模板参数就是非类型模板参数N,我们在定义静态数组时,除C语言外的定义方式,还可以用array类来定义一个对象,...C++觉得C语言的检查机制不够严格,使用者在使用时有可能会因为越界访问导致程序出现意料不到的错误,所以C++出来了array类,array无论对于越界读还是越界写,他都可以检查出来,本质是因为他的检查机制是...int main() { //C++11想让我们用array,不想让我们用C语言的数组了,就因为C语言的越界检查不够严格,容易引发问题。...//C语言对于越界读,不检查。

    1.1K20

    C语言进阶——指针

    C/C++会把常量字符串存储到单独的一个内存区域, 当几个指针,指向同一个字符串的时候,他们实际会指向同一块内存。但是用相同的常量字符串去初始化不同的数组的时候就会开辟出不同的内存块。...*(*arr)[10] D.char(*)arr[10] 解析: A是二级指针数组,B是指针数组,C是char *数组的指针,D是char *的数组。...只有C是数组指针。 tip:根据优先级看只有C选项优先跟*结合,其他都不是指针,所以直接选C。...( ) A.int (*(*F)(int, int))(int) B.int (*F)(int, int) C.int (*(*F)(int, int)) D....* fun(int *) D.int* (*fun)(int *) 首先C压根就不是函数指针,先排除,然后D返回值不是int,排除,A的参数不是int *,排除,剩下B了。

    12610
    领券