首页 > 其他分享 >C语言学习 指针的运算和比较

C语言学习 指针的运算和比较

时间:2023-02-04 14:11:06浏览次数:42  
标签:运算 INT double C语言 int BOOL PRINT array 指针

 1 #include <stdio.h>
 2 #include <io_utils.h>
 3 
 4 int main() {
 5   {
 6     int a = 2;
 7     int *p = &a;
 8 
 9     PRINT_INT(p + 1);
10     PRINT_INT(p);
11     PRINT_INT(sizeof(int));
12   }
13 
14   {
15     double a = 2.0;
16     double *p = &a;
17 
18     PRINT_INT(p + 1);
19     PRINT_INT(p);
20     PRINT_INT(sizeof(double ));
21   }
22 
23   {
24     double a = 2.0;
25     double *p = &a;
26     double **pp = &p;
27 
28     PRINT_INT(pp + 1);
29     PRINT_INT(pp);
30     PRINT_INT(sizeof(double *));
31   }
32   {
33     int array[] = {0, 1, 2, 3, 4};
34     PRINT_INT(array);
35     int *p = array;
36     PRINT_INT(*(p + 3));
37     PRINT_INT(*(array + 3));
38     PRINT_INT(*(3 + array));
39     PRINT_INT(3[array]); // not recommend
40     PRINT_INT(array[3]);
41     PRINT_INT(p[3]);
42 
43     int *const array_p = array;
44 
45     PRINT_BOOL(p + 3 > p + 1);
46     PRINT_BOOL(p + 3 == p + 3);
47 
48     int array2[] = {3,4};
49     int *p2 = array2;
50     PRINT_BOOL(p + 3 == p2 + 1); // meaningless
51     PRINT_BOOL(p + 3 > p2 + 1); // meaningless
52   }
53   return 0;
54 }

运行结果

指针比较 是比较连续的地址空间才有意义,要不没有意义。 像50,51 行代码,其实就是没意义的

 

标签:运算,INT,double,C语言,int,BOOL,PRINT,array,指针
From: https://www.cnblogs.com/liumy/p/17091389.html

相关文章

  • C语言 特殊指针 (使用禁忌)
    NULL野指针pointer_at_large就是一个野指针 1#include<stdio.h>2#include<io_utils.h>34int*pointer_at_large;56voidDangerousPointer(){......
  • C语言学习 指针
    编译器是visualstudio   代码1#include<stdio.h>2#include<io_utils.h>34intmain(){5inta;6scanf("%d",&a);78int*p=&a......
  • C语言结构体对齐,超详细,超易懂
    结构体对齐规则结构体的第一个成员总是存放在结构体变量开辟的空间的起始地址其它成员变量要存储在一个名叫对齐数的整数倍的地址结构体总大小为最大对齐数的整数倍,结构体......
  • 【C语言 数据结构】数组与对称矩阵的压缩存储
    文章目录​​数组的定义​​​​数组的顺序表示和实现​​​​顺序表中查找和修改数组元素​​​​矩阵的压缩存储​​​​特殊矩阵​​​​稀疏矩阵​​数组的定义提到数组......
  • 前缀和-差分-双指针(上)
    1.前缀和前n个元素的和作为当前元素的值a为元素数组s[i]为前缀和数组一维前缀和s[i]=s[i-1]+a[i]s[m]-s[n]=a[n+1]+...+a[m]m>n二维前缀和s[i][j]=s[i-1]......
  • 费解的开关(位运算+递推)
    题目描述:你玩过“拉灯”游戏吗?25盏灯排成一个5x5的方形。每一个灯都有一个开关,游戏者可以改变它的状态。每一步,游戏者可以改变某一个灯的状态。游戏者改变一个灯的状态会产......
  • 运算符重载
    基本概念:重载的运算符是具有特殊名字的函数:它们的名字由关键字operator和其后面要定义的运算符号共同组成。同其他函数一样,重载的运算符函数也包含返回类型、参数列表以......
  • 模拟实现不受限制的字符串函数--C语言版
    C语言中提供了许多十分好用的库函数,一旦我们掌握了它们,我们使用C语言写代码就会变得更加得心应手。1.strlenstrlen函数就是计算字符串的长度的,它会一直读取到\0,它的返回值就......
  • 二分查找——C语言描述
    二分查找——C语言描述目录二分查找——C语言描述0测试用例框架1定义2代码4测试用例0测试用例框架https://blog.csdn.net/m0_59469991/article/details/127137119?......
  • 冒泡排序——C语言描述
    冒泡排序——C语言描述目录冒泡排序——C语言描述0测试用例框架1定义2代码4测试用例0测试用例框架https://blog.csdn.net/m0_59469991/article/details/127137119?......