1.创建一个队列时,空队列中队首和队尾相同,但不是NULL,队首后面挂的元素才是NULL 2.打印队列时,对于链队列,不能把指针加一来找到下一个数据,因为链表地址不连续,需要复制一条链表,不断往后遍历来挨个打印链表的数据 3.求队伍的长度也是,不能首尾指针相减,因为地址不连续,所以同样需要复制一条链 ...
分类:
编程语言 时间:
2020-07-19 18:05:49
阅读次数:
71
指针加1、指针与指针相减、*p++、指针比较、NULL地址、指针的类型、指针的类型转换、动态分配内存、free函数 ...
分类:
编程语言 时间:
2020-06-22 17:26:11
阅读次数:
72
3.5.1定义和初始化内置数组 1.维度必须是常量 constexpr unsigned x = 5; 3..5.2访问数组元素 1.在使用数组下标时,一般将下标声明为size_t 2.不能对尾指针使用解引用或者递增操作。 3.两指针相减的结果是一种类型为ptrdiff_t的标准库类型和size_t ...
分类:
编程语言 时间:
2018-05-19 17:00:40
阅读次数:
197
一、指针的定义和初始化 指针中* 是间接运算符,可以利用指针访问变量。 二、指针运算 指针与指针相减表示两个指针间可以存储的变量的个数。 指针加减某个整数,相当于将指针移动整数个变量大小。 double 占8个字节,0x30-0x28=16-8=8 正好是加整数1,位置移动了8个字节。 三、指向数组 ...
分类:
编程语言 时间:
2018-05-08 20:56:34
阅读次数:
169
一、特性 1. 这是一种标准库类型 2. 是两个指针相减的结果的类型(因为差值可能为负值,所以是一种带符号类型) 3. 和size_t一样,ptrdiff_t也是一种定义在<cstddef>头文件中的机器相关的类型 4. 示例:ptrdiff_t = end(arr) - begin(arr); ...
分类:
其他好文 时间:
2017-10-22 00:20:13
阅读次数:
219
头文件<stddef.h>定义了各种变量类型和宏。这些定义中的大部分也出现在其它头文件中。 1、类型:ptrdiff_t 是指两个指针相减的结果的有符号整数类型size_t 是sizeof操作符的结果的无符号整数类型wchar_t 是一个整值类型,它范围内的值可以表示最大扩展字符集中所有成员的不用编 ...
分类:
其他好文 时间:
2017-07-22 18:19:09
阅读次数:
182
本文介绍三种方法:1.循环计数法,(设置一个计数器)。2.递归法,(函数调用自身进行计算)3.指针-指针法,(库函数使用的是此方法)现在列入程序:方法1:/*
计数法
*/
intmy_strlen(char*p)
{
intnumber=0;
while(*p)
{
number++;
p++;
}
returnnumber;
}方法2:/*..
分类:
编程语言 时间:
2015-11-14 23:39:21
阅读次数:
859
《C和指针》P110 分析如下:两个指针相减的结果的类型为ptrdiff_t,它是一种有符号整数类型。减法运算的值为两个指针在内存中的距离(以数组元素的长度为单位,而非字节),因为减法运算的结果将除以数组元素类型的长度。所以该结果与数组中存储的元素的类型无关。 ptrdiff_t是signed类型,...
分类:
其他好文 时间:
2015-10-08 13:06:28
阅读次数:
287
方法一:指针的方式#include<stdio.h>#include<stdlib.h>intmy_strlen(constchar*str){ char*tmp=str;//用tmp保存原指针的地址 while(*str)//str++直到‘\0’ { str++; } returnstr-tmp;//两个指针相减,得到字符长度}intmain(){ char*p="bit"; printf("%d\n",my_..
分类:
编程语言 时间:
2015-09-14 00:44:58
阅读次数:
284
1、指针运算
合法的指针运算有:指针与整数的加减(包含指针的自增和自减)、同类型的两指针相减、同类型指针间的比较。
【指针与整数的加减】
指针加上一个整数的结果是另一个指针。因为指针就是地址,所以,指针加上一个整数的结果就是另一个地址。那么,它指向哪里呢?这个指针所指向的类型有关。我们知道,
char 1 byte 8 bit...
分类:
编程语言 时间:
2015-07-10 00:28:22
阅读次数:
212