1、函数原型(利用指针求字符串的长度) #include <stdio.h> size_t strlen(const char *s) //函数头的形参为常数的、指向char型的指针,也就是接收的形参为指针(实际上传入的是字符串数组,函数间数组的传递实际上是通过指向第一个元素的指针完成的) { // ...
分类:
编程语言 时间:
2021-06-02 19:40:16
阅读次数:
0
##1. 定义模板 ###1.1 函数模板 ###1.2 类模板 ###1.3 模板参数 ###1.4 成员模板 ###1.5 控制实例化 ###1.6 效率与灵活性 ##2. 模板实参推断 ###2.1 类型转换与模板类型参数 ###2.2 函数模板显式实参 ###2.3 尾置返回类型与类型转换 ...
分类:
其他好文 时间:
2021-06-02 18:43:51
阅读次数:
0
简介 链表中倒数第K个节点. 思路 双指针, 然后一个指针延迟运行. code class Solution { public: ListNode* getKthFromEnd(ListNode* head, int k) { ListNode *p = head; ListNode *pk = h ...
分类:
其他好文 时间:
2021-06-02 18:31:26
阅读次数:
0
链式存储结构的优点: ① 结点空间可以动态申请和释放; ② 数据元素的逻辑次序依靠结点的指针来指示,插入和删除时不需要移动数据元素。 链式存储结构的缺点: ① 存储密度小,每个节点的指针域需要额外占用存储空间。当每个节点的数据域所占 字节不多时,指针 域所占存储空间的比重显得很大。 // 存储密度 ...
分类:
其他好文 时间:
2021-06-02 18:16:28
阅读次数:
0
编译器为class A{}生成的函数 1 class A 2 { 3 public: 4 A(); //缺省构造函数 5 A(const A&rhs); //拷贝构造函数 6 ~A(); //析构函数 7 A& operator=(const A&rhs); //赋值运算符 8 A* operato ...
分类:
编程语言 时间:
2021-06-02 18:11:51
阅读次数:
0
1、 #include <stdio.h> void assign1(int x[], int n)//函数间数组的传递是以数组第一个元素的指针的形式传递的,因此形参变为指向数组第一个元素的指针,形参和数组本身的行为一样。 { int i; for(i = 0; i < n; i++) { x[i] ...
分类:
编程语言 时间:
2021-06-02 17:38:23
阅读次数:
0
函数间数组的传递,是以指向第一个元素的指针的形式进行的。 在被调用的函数中作为指针接收的数组, 实际上就是调用方传递的数组。 Type*型指针p指向Type型数组a的起始元素a[0]时, 指针p的行为就和数组a本身一样。 值: a[i] = *(a + i) = *(p + i) = p[i]; 指 ...
分类:
编程语言 时间:
2021-06-02 16:49:25
阅读次数:
0
删除 指针p 指向的 结点b ① p->prior->next = p->next; ② p->next->prior = p->prior; ③ free(p); 代码部分: void ListDelete_DuL(DuLink &L, int i, ElemType &e){ // 删除带头结点 ...
分类:
其他好文 时间:
2021-06-02 16:42:32
阅读次数:
0
c语言中数组的名称原则上为数组的第一个元素的指针。(当sizeof和&应用数数组名除外)。 当p为第一个元素的指针时, p + i 为第一个元素后的第i个元素的指针,则 p + i等价于 &a[i]. 程序如下: #include <stdio.h> int main(void) { int i; ...
分类:
编程语言 时间:
2021-06-02 16:19:29
阅读次数:
0
一.为什么要用链表而不是数组 数组在定义了大小以后就不能随便改变了,而且数组要在内存中申请一块连续的区域,而链表可以随时增加或者减小元素,它的存储空间也是动态的。这对于内存的使用更加有性价比。 二.链表的组成部分 链表由头指针(不包括数据区域,只包含指向头节点的指针构成),头节点,常规节点,尾指针组 ...
分类:
其他好文 时间:
2021-06-02 16:09:29
阅读次数:
0