const typedef 和指针的问题(这里必须初始化的才初始化了,不必须的则没有初始化)
Posted 菜鸟根据地
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了const typedef 和指针的问题(这里必须初始化的才初始化了,不必须的则没有初始化)相关的知识,希望对你有一定的参考价值。
这里很容易搞混;
-
tyepdef double dou;//这里是dou是double的别名
-
#include<iostream> using namespace std; int main() { typedef char *pstring; //pstring实际上是指向char的指针。 const pstring cstr = 0; //cstr 是指向char 的常量指针 const pstring *ps; //ps是一个指针,他的对象是指向char的常量指针 const char *str = 0; //声明了一个指向const char 的指针 const int a = 0; int const b = 0; // 上下一样的 //const直接修饰的变量必须初始化,但是像const int *c这种的不用初始化!!!! // const 修饰的指针所指向的内存空间不准变 这个不用初始化 const int *c; // c是一个指向常整形数的指针(所指向的内存数据不能被修改,但是本身可以修改) int * const d = 0; // d 常指针(指针变量不能被修改,但是它所指向内存空间可以被修改) const int * const e = 0; // e一个指向常整形的常指针(指针和它所指向的内存空间,均不能被修改) system("pause"); }
- 其中
const pstring cstr = 0; //cstr 是指向char 的常量指针 pstring的类型为char * const
-
const int *c; // c是一个指向常整形数的指针(所指向的内存数据不能被修改,但是本身可以修改)
以上是关于const typedef 和指针的问题(这里必须初始化的才初始化了,不必须的则没有初始化)的主要内容,如果未能解决你的问题,请参考以下文章