• 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是一个指向常整形数的指针(所指向的内存数据不能被修改,但是本身可以修改)
  • 相关阅读:
    Hibernate优缺点
    Struts优缺点
    Problem M
    Problem K
    Problem K
    Problem Q
    Problem Q
    Problem F
    Problem F
    哈夫曼树
  • 原文地址:https://www.cnblogs.com/xiaochige/p/6752844.html
Copyright © 2020-2023  润新知