首页 > 其他 > 详细

[C_const]指针上的对比

时间:2014-08-02 17:59:03      阅读:369      评论:0      收藏:0      [点我收藏+]

#include "stdio.h"

int main(int argc, char const *argv[])
{
printf("Hello const of Goodboy Lee!\n");

// a和b是一个指向int类型的指针,无法通过a来改变指向的空间的值
const int *a;
int const *b;

// c是一个指向int类型的常量指针,无法改变a和b的指向
int c1 = 3;
int * const c = &c1;
int * const d; // 指向NULL, 无法改变指向,顾推荐赋初值
printf("*d = %p\n", d);

int a1 = 1;
int b1 = 2;
int c2 = 31;

a = &a1;
b = &b1;
// d = &c1; // 编译报错,无法重新赋值,需定义时赋初值

// 1. 试图通过a来改变a1的值
// *a = 2; // 编译报错
// 只能通过a1来修改a指向的变量即a1的值
a1 = 100;
printf("*a = %d, a1 = %d\n", *a, a1);

// 2. 试图通过b来改变b1的值
// c = &c2; // 编译报错,无法指向另一个空间
*c = 200;
printf("*c = %d, c1 = %d\n", *c, c1);

return 0;
}

[C_const]指针上的对比,布布扣,bubuko.com

[C_const]指针上的对比

原文:http://www.cnblogs.com/webapplee/p/3887111.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!