const char**与char**类型的区别

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int a = 25.5;
    int *p_a = &a;
    const int *p = &a;
    int **p_p_a = &p_a;
    const int **p_p;

    p_p = p_p_a;        //警告,赋值符号前后类型不符合
    p_p = &p_a;         //警告,赋值符号前后类型不符合
    p_p = &p;           //无警告

    return 0;
}
时间: 2024-10-29 19:07:39

const char**与char**类型的区别的相关文章

数据库中char与varchar类型的区别

在建立数据库表结构的时候,为了给一个String类型的数据定义一个数据库的数据库类型,一般参考的都是char或者varchar,总结一下它们两者的区别,明确一下两者的区别. 1.char的长度是不可变的,而varchar的长度是可变的.也就是说,定义一个char[10]和varchar[10],如果存进去的是'abcd',那么char所占的长度依然为10,除了字符'abcd'外,后面跟六个空格,而varchar就立马把长度变为4了;取数据的时候,char类型的要用trim()去掉多余的空格,而v

mysql中char和varchar类型的区别

区别: char:存储的数据时固定长度的: varchar:存储的数据可变长度 举例: 在数据表中定义两个数据项char(200)和varchar(200),同时存入字符串串"Hello Word", char类型便会用这200多的数据长度存储这十几个字符,简直很汗!: varchar类型会按需索取,只会用这十几个字符需要的空间来存储它,再加上一个位置来存储位置信息,嗯,好多了. 注意: 1.这样看起来varchar比char好多了,char有优点吗? 当然有的!!! char类型因为

C++字符类型总结区别wchar_t,char,WCHAR

转至:http://www.360doc.com/content/12/0807/01/9290626_228750141.shtml 1.区别wchar_t,char,WCHAR ANSI:即 char,可用字符串处理函数:strcat( ),strcpy( ), strlen( )等以str打头的函数.   UNICODE:wchar_t是Unicode字符的数据类型,它实际定义在里:   typedef unsigned short wchar_t;   另外,在头文件中有这样的定义:ty

const char*、char*、char* const、char[]、string的区别

1.const char* p: p is a pointer to const char(char const* p 一样)   意思就是不能通过p指针来修改p指向的内容(但是内容可以修改).2.char* p      : p is a pointer to char   意思就是可通过p指针来修改p指向的内容3.char* const p: p is a const pointer to char   意思就是p指针是一个常指针,他指向的内存地址不能变,定义的时候就得初始化   一旦给指针

c++ 字符类型总结区别wchar_t,char,WCHAR(转)

1.区别wchar_t,char,WCHAR ANSI:即 char,可用字符串处理函数:strcat( ),strcpy( ), strlen( )等以str打头的函数.   UNICODE:wchar_t是Unicode字符的数据类型,它实际定义在里:   typedef unsigned short wchar_t;   另外,在头文件中有这样的定义:typedef wchar_t WCHAR; 所以WCHAR实际就是wchar_t   wchar_t 可用字符串处理函数:wcscat()

const char * 、char const *、 char * const 三者的区别

原文链接:https://blog.csdn.net/silentob/article/details/76994618 C/C++ 中关于以下三种定义: const char *ptr; char const *ptr; char * const ptr; 整理三者之间的区别与联系. 一.const char *ptr; 定义一个指向字符常量的指针,这里,ptr是一个指向 char* 类型的常量,所以不能用ptr来修改所指向的内容,换句话说,*ptr的值为const,不能修改.但是ptr的声明

const char *p; char const *p; char * const p的区别

请看下面三种定义: const char *p; char const *p; char * const p; 首先看第一种,我们先看p,本着"从里往外"的原则,p是一个char *类型的变量,但char *前面有一个const修饰,即p所指向的内容为const类型不可修改,我们可以写如下程序进行实验,当试图对p指向的数组的第一个元素进行修改时,编译即可发现报错: 第二种:char const *p;  const位于char *之间,由于char *是p的类型,此种写法和const

[转载]char * 和char []的区别---之第一篇

char *  和char []的区别---之第一篇 原文地址http://blog.csdn.net/yahohi/article/details/7427724 在C/C++中,指针和数组在很多地方可以互换使用,所以经常有一种错觉,感觉数组和指针两者是完全等价的,于是经常出现在定义char ch[] 时,一旦给ch赋值与ch开辟的地址空间不等长的空间时会出现打印为“烫”字的情况 实上数组和指针是有很大的区别的. 汇总自己查找的资料: char[]是一个数组定义,char*是指针定义 先说说指

char* 和char[]的区别(转)

以下内容均来自互联网,系笔者汇总并总结. 1. 问题介绍 问题引入:在实习过程中发现了一个以前一直默认的错误,同样char *c = "abc"和char c[]="abc",前者改变其内 容程序是会崩溃的,而后者完全正确.程序演示:测试环境Devc++代码#include <iostream>using namespace std; main(){   char *c1 = "abc";   char c2[] = "ab

C语言中char* 和 char []区别

想要把丢掉的东西捡起来,还是很辛苦啊,今天我就发现,我连char* 和 char []的区别都不知道. 很多人觉得这两个定义效果一样,其实差别很大.以下是个人的一些看法,有不正确的地方望指正. 本质上来说,char *s定义了一个char型的指针,它只知道所指向的内存单元,并不知道这个内存单元有多大,所以:当char *s = "hello";后,不能使用s[0]='a':语句进行赋值.这是将提示内存不能为"written".当用char s[]="hel