摘自http://www.myexception.cn/cpp/1900041.html const int *p 为什么可以不初始化?c++ primer 5th P53 写道:const 对象一旦创建后其值就不能再改变,所以const对象必须初始化. 但在 P57 中练习2.28的第(e)题为什么判断为合法呢?为什么可以不用初始化呢? (e)const int *p; // legal. a pointer to const int ------解决思路-------
前面有一篇文章:数组名就是常量指针 参考文章:http://blog.pfan.cn/whyhappy/5164.html const int * pi .int const * pi与int * const pi及其操作 1 从const int i 说起 你知道我们申明一个变量时像这样int i :这个i是可能在它处重新变赋值的.如下:int i=0;//…i=20;//这里重新赋值了 不过有一天我的程序可能需要这样一个变量(暂且称它变量),在申明时就赋一个初始值.之后我的程
1)先从const int i说起.使用const修饰的i我们称之为符号常量.即,i不能在其他地方被重新赋值了.注意:const int i与int const i是等价的,相同的,即const与int的位置无所谓.2)const int *p看例子:int i1=30;int i2=40;const int *p=&i1;p=&i2; //此处,p可以在任何时候重新赋值一个新的内存地址.i2=80; //这里能用*p=80来代替吗?答案是不能printf("%d"
在单片机程序设计中,我们经常会用到const这个关键字,在有些单片机的编译器中可能会是code(比如51系列单片机),但我们在学习C语言的时候,首先还是先学到的const.我们知道,const关键字的含义是"常量的,常数的,不变的"意思.我们最初学到的是cont int a = 5;或者const unsigned char array[5] = {0,1,2,3,4};我们把a.array[n]称之为常值变量.我们在单片机编程中可能不会经常用到const int a = 5这种语句.
const int * a和int const *a一样,定义时不是必须初始化,指针可以指向其他变量,但是指向的变量的值不能修改. int * const定义时必须初始化,即必须指明指向哪个变量,定义后就不能再指向其他变量,但是指针指向的变量的值可以被修改. #include<iostream> using namespace std; int main() { //a和b是一样的,代表一个常整型数,必须手动初始化 ; ; ; ; //c是一个指向常整数型的指针,可以不初始化 int cons
Some people may be confused about the sequence of const and * on declaration in C++/C, me too. Now I think we can distinguish them by this way: 1.only noticing the position of const to *, and we can find that the following statements are same: const
ANSIC允许声明常量,常量和变量不同,常量就是不可以改变的量,用关键字const来修饰 比如:const int a int const a 以上两种声明方式是一样的,我们不需要考虑const和int的先后顺序,按照你理解的方便的一中方式进行应用. 因为const和int的顺序先后并不影响结果,因此 int const * && const int *这两中情况就是一样的 所以我们只需要讨论两种情况 -----------------------------------------
5.Please choose the right statement about constusage: A.const int a;//const interger B.int const a;//const integer C.int const *a;//a pointer while point to const interger D.const int *a;//a const pointer which point to interger E.int const *a;//a co
首先注意,const int * p 和int const *p 是一样的,并且不管是不是*p,即使const int i和int const i也是一样的,所以我们接下来只讨论int const * p和int * const p的不同 对于这种问题,我们只用将const 的位置固定,然后再看后面的东西,一般规则是后面的东西不能在进行赋值或者修改.例如下面: #include<stdio.h> int main(int argc,char *argv[]) { int i = 10; int