指针-指针运算

来源:互联网 发布:数据库数据字典怎么写 编辑:程序博客网 时间:2024/06/05 23:56

指针减指针这一运算是合法的,需要调整


1.  算出两个指针间隔的字节数

2.  除以调整的权重,调整的权重是指针本身去掉一个*号,再求sizeof () ;


include<stdio.h>


int main()

{

        int arr [10] = [0] ;

        int * p = &arr [1] ;

        int * q = &arr [9] ;

        printf ( " %d\n " , p - q );         -8

        printf ( " %d\n " , q - p );          8

        printf ( " %d\n " , ( char ** ) q - ( char ** ) p );         8

        printf ( " %d\n " , ( short * ) q - ( short * ) p;          16

        printf ( " %d\n " , ( double * ) q - ( double * ) p );          4

        printf ( " %d\n " , (  long * ) q - (  long * ) p );         8

        printf ( " %d\n " , ( char * ) q - ( char * ) p );         32

        printf ( " %d\n " , (  long long ) q - (  long long ) p );       32

         return  0;

}
原创粉丝点击