`

const

    博客分类:
  • C
阅读更多

There are two type of const:

1. const int  *p;  <----- pointer 'p' is not const, while to what it points is const.
e.g.:

int i;

const int ci = 5;

const int *p;

p = &i;

p = &ci;

*p = 10; // error here

 

2. int *const cp; <----- the pointer 'cp' is const, you can't reassign value to 'cp' twice.

e.g.:

int i;

int j;

int *const cp = &i;

*cp = 3;

*cp = 4;

cp = &j; // error here

 

together:

const.c

  1 #include<stdio.h>

  2 #include<stdlib.h>

  3 void main()

  4 {

  5         int i = 5;

  6         int j = 7;

  7         const int ci = 4;

  8         const int *p;

  9         int *const cp = &j;

 10         const int *const cp1 = &ci; // both pointer and what it points to are const.

 11         p = &ci;

 12         p = &i;

 13         printf("*p=%d\n", *p);

 14         printf("*cp=%d\n", *cp);

 15         printf("*cp1=%d\n", *cp1);

 16         const int **pp;

 17         pp = &p;

 18         printf("**pp=%d\n", **pp);

 19         const int *const *const cpp = &cp1;

 20         printf("**cpp=%d\n", **cpp);

 21         exit(EXIT_SUCCESS);

 22 }



分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics