const char*类型的赋值怎么定义指针指向内存区域

#include
#define SENTENCE "That's all I can say"
char main()
{
const char *mood ="Fuck the dog Qiaoguang";
printf ("%s\n%s",SENTENCE,mood);
return 0;
}图片说明

c

1个回答

不太清楚你想表达什么

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
const指针、数组指针、指针数组理解
指针中,关键字const放在不同的位置表示的意义: 1、const int *p;     这种情况下,表示的是一个指向常量的指针,程序中不能通过指针来改变它所指向的值,但是指针本身的值可以改变,即指针可以指向其他的数据。就好像她,她就像冷血动物,她是那么的无情,不论我是多么的爱她,为她做多少的改变,又或者其他人对她的关心,她都没有感觉,她只顾她自己,或许我是该去寻找生命中的另外一个,结束这无
C语言int类型指针指向char类型变量简单实例
首先看段代码: int b = 12; int *p = &b; //指针变量p指向变量b printf("%p\n",p);//指针p保存的b的地址 printf("%p\n",&p);//指针变量b本身的地址 char a ='b';    printf("%p\n",&a); int *p2 =&a; //int类型指针变量p2 指向
c语言中const 类型变量地址赋值给指针。
作者:余天升 链接:https://www.zhihu.com/question/21792567/answer/19354371 来源:知乎 著作权归作者所有,转载请联系作者获得授权。 const在C语言中是表示道义上保证变量的值不会被修改,并不能实际阻止修改,通过指针可以修改常变量的值,但是会出现一些不可知的结果。几种情况不同,我们一个一个来看。 1、直接赋值 cons
常量指针(const pointer)和指向常量的指针(pointer to const)
pointer to const: const char* 等价于 char const* 指针本身可以被改变,但是指针指向的值不能通过该指针改变,但是可以通过其他方式改变 const pointer: char* const 指针本身不能移动,不能赋值 如果是常量指针,就只能把const放在*后面了,不然会造成混淆 如果是指向常量的指针,const在*之前,在数据类型之
修改const指针所指向的值
dval  =  3.14159; *cptr = 3.14159; double  *ptr  =  &dval
const指针与指向const类型的指针
首先,我也不知道这个标题提到的两个名词叫的对不对,不过暂时先这么叫吧。这里的const指针我指的是类似于int *const p这样声明的变量,指向const类型的指针是类似于const int* p这样声明的变量。 n    然后再说一下两者的区别吧。前一种,指针指向的内容可以通过指针变量改变,但是指针变量本身的值不能被改变;后一种,指针指向的内容不可以通过指针变量改变,但是指针变量本身的值可以改
指针(上)--指针存放,数组指针及const的了解
之前一直听别人说指针是如何如何难,导致在写代码时一直对指针是诚惶诚恐。现在,是时候应该系统地学一下指针了,既然怕为什么不去克服,不去克服又怎么提高,不管是否困难。事实证明指针也没什么好怕的,只要掌握调用逻辑,使用时多个心眼,相信我们都能熟练精准地使用。  下面我们开始指针的理解之旅,这篇文章我将从指针的”起源”开始说起,以便有一个阶段性的了解。  同样借鉴了以下几篇文章,写得很详细,具体可以转以
C语言const与指针——为什么不能用char **给const char **赋值
C语言中,const限定词指定了一个不可修改的变量,但并不是常量。它可以使编译器帮助我们保证某些变量不被意外修改,例如指针或引用传递时,加上const可保证我们的源数据不被破坏。const修饰指针时情况比一般情况下要复杂许多,先看下面这个例子: 1 const char * p1;//p1指向的内容不可变2 char const * p2;//p2指向的内容不可变3 char * const
如何理解char型指针与int型指针的不同表现
这里是按照我的想法来猜测语言设计时的一些特性,如果有高人能进一步指点,不胜感激~其实一直对字符串数组与字符串指针都抱有很多疑问,因为它用起来和整型指针相比完全不是一个风格。比如char *str =”char test”;可以这样直接赋值而整型int *a = {1,2,3}却完全不合理我们可以很容易的理解int型指针,a就是指针是一个地址,&a就是指向的数据。然而str就是字符串”cha...
const指针 与指向const的指针的区别
const 指针与指向const的指针 当使用带有const的指针时其实有两种意思。一种指的是你不能修改指针本身的内容,另一种指的是你不能修改指针指向的内容。听起来有点混淆一会放个例子上来就明白了。       先说指向const的指针,它的意思是指针指向的内容是不能被修改的。它有两种写法。       const int* p; (推荐)       int const* p;       第...
C语言中的const用法以及常量指针与指针常量(有口诀!)
编了这样的口诀,记住,应该不难: const(*号)左边放,我是指针变量指向常量; const(*号)右边放,我是指针常量指向变量; const(*号)两边放,我是指针常量指向常量; 指针变量能改指向,指针常量不能转向! 要是全都变成常量,锁死了,我不能转向,你也甭想变样! 例一 下面分别用const限定不可变的内容是什么? 1)const在
char *指针与char 数组的区别
char *指针与char 数组的区别
C++中如何修改const变量 (指针)
一、结论 声明:不同于C语言的const变量修改问题(可以通过指针间接修改const变量的值),这里只讨论C++ 里的const。 C++ const 修饰符,表示常量,即如果以后保证不会修改则声明为const,否则若要修改,那一开始为什么还要声明为const呢? 根据C++标准,对于修改const变量,属于:未定义行为(指行为不可预测的计算机代码),这样一来此行为取决于各种编译器的具体实现
定义unsigned char型指针读取变量在内存中每个字节的内容
一、 //By Richard #include int main() { int i=65535; unsigned char *c; c=(unsigned char *)&i; printf("内存中存储情况:\n"); for (in
给New出来的 char * 赋值操作的三种方法
之前在对new 出来的char * 指针进行操作的时候,发现在delete的时候总是会报错,后来上网查资料是说在赋值的时候,由于字符串是存放在字符串常量区的,当你用字符串对其进行赋值的时候,其指向的地址就已经发生了改变。 #include<iostream> #include<string> using namespace std; int main() { char ...
C++学习之const指针和多维数组
const int *p1;  表示指针p1指向的内容是不可改变的  int *const p2;  表示指针地址是不可改变的  const int *const p3;  表示指针的地址和内容都不可改变 有关const定义的量里,不可改变的是顶层const,可改变的是底层const。
[笔记]C++中 对const类型指针的强制类型转换操作
int * const elems ; int * p=(int*)&elems; int ** q=(int**)&elems;
指针指向空字符串和指针赋值为NULL的区别
指针指向空字符串和指针赋值为NULL的区别
关于const char *的使用方法
<br />问题:<br />全局变量const char* test = NULL;<br /> 然后在函数A中要改变它void funcA()<br />{<br />   char test2[512];<br />   strcpy(test2, "this is a test");<br />   test = test2;<br />}<br />但 是,我们知道,test2是在栈上分配的,上面的代码是有问题的<br /> 如果我们在堆上分配,如下void funcA()<br />{<b
string变量赋值给char *p指针
string strAction; char *pAction=NULL; pAction=(char*)malloc(strAction.length()+1); strncpy(pAction,strAction.c_str()); if(pAction!=NULL) { free(pAction); pAction=NULL; } 上面看似简单的程序,还是有不少的注
关于const常量、const指针以及const引用
这篇博客从头到尾的讲一下关于const的一些问题。 1.const常量 与变量不同,有const修饰的量是常量,常量的值不可改变,在定义的时候必须初始化,使用未初始化的常量是错误的。以前还经常弄不清楚的问题就是常量和变量的赋值问题,例如如下代码: int a=3; const int b=a;a是一个变量,而b是常量,能否用一个变量给常量赋值呢?答案是可以的,变量在这里只起到赋值的作用,而常
指针指向字符数组的赋值与输出
1.#include  void main() {     char *s,c[80];     s=c;     printf("请输入c字符数组:");     gets(s);     s+=3;          //将指针指向第四个字符     printf("请输入指针s指向的字符数组:");     gets(s);       //重新输入指针s指向的字符数组
指针,野指针,空指针,赋值?
bug中最可怕的是野指针,那么问题来了,野指针是什么?是如何产生的?为什么程序员会“忘记”? 昨天调试时,我发现了一个野指针,由此我明白了。 a的值成了乱码,而且gcc编译器并没有报错,那么请看下面的代码 #include int fun(int *a) { int i; *a=0;//添加的代码 for(i=0;i<10;i++) (*a)++; return
char* 指向内容不能修改
char* str = "resource";   str[6] = 'k';  //这句报内存写入错误   *(str+6) = 'k'; //这样写同样报错   但是这样就没问题:   char* str = new char[12];   strcpy(str, "resource");   str[6] = k; //没问题   *(str+6) = 'k'; //没问题
C51:Keil c51指针变量
所提到变量就是一种在程序执行过程中其值能不断变化的量。要在程序中使用变量必须先用标识符作为变量名,并指出所用的数据类型和存储模式,这样编译系统才 能为变量分配相应的存储空间。定义一个变量的格式如下:    [存储种类] 数据类型 [存储器类型] 变量名表 在定义格式中除了数 据类型和变量名表是必要的,其它都是可选项。存储种类有四种:自动(auto),外部(extern),静态(sta
浅谈void指针的类型转换问题
指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。 要搞清一个指针需要搞清指针的四方面的内容:指针的类型、指针所指向的 类型、指针的值或者叫指针所指向的内存区、指针本身所占据的内存区。
VC++ CString 及char 指针的常见问题(转)
http://hi.baidu.com/jetqu2003/item/9d603989c35a0d53e63d199c CString 是一种很有用的数据类型。它们很大程度上简化了MFC中的许多操作,使得MFC在做字符串操作的时候方便了很多。不管怎样,使用CString有很多特殊的技巧,特别是对于纯C背景下走出来的程序员来说有点难以学习。这篇文章就来讨论这些技巧。   使用CStrin
const类型指针与普通指针相互赋值
1、将const char *p1赋给char *p2 在c语言条件下是警告,c++下面是报错。 2将char *p1赋给const char *p2 均编译通过。 总结:说明只能条件越来越严格,不能条件越来越松(除非强制类型转换如:char *p1;const char *p2;p1=(char*)p2;)。 char *const  p1赋
char** p指针的指针意思详解
char p是声明一个字符类型变量p,char * p1是声明一个字符类型的指针变量p1,那么char ** p2就相当与给char类型的指针变量再声明一个指针.(2级指针) 例如char *p ;//char 指针 ,表示p里面寸一个char型变量的地址char **p1;char *指针 ,表示p1里面存一个char *型变量的地址p1 = &p; 举个例子,假如: char p='a';//
const与指针及初始化
const是一个C语言的关键字,它限定一个变量不允许被改变。使用const在一定程度上可以提高程序的安全性和可靠性 指向常量的指针: const int *pa; int const *pa; 两者等价。因为指向常量的指针有时候会指向常量,所以它具有这个性质:“不能靠解引用改变它指向的对象的值”,以此保护它所指向的常量的常量性: *pa =d; // 不可行(d是已经声明过的整型
【C语言】指向指针的指针 char * *使用技巧
需求: 因为需要定义一个字符串数组,用来存放多个字符串,于是想到使用 char **这种结构——指向指针的指针,于是编写代码如下: #include #include int main() { char * * ch; char * p = "abcdsdfsdfsfsfsdfs"; char * q = "def"; ch=(char **)malloc(2*sizeof(char *
CString及Char指针和数组的问题(转)
CString及Char指针和数组的问题(转)  CString 是一种很有用的数据类型。它们很大程度上简化了MFC中的许多操作,使得MFC在做字符串操作的时候方便了很多。不管怎样,使用CString有很多特殊的技巧,特别是对于纯C背景下走出来的程序员来说有点难以学习。这篇文章就来讨论这些技巧。   使用CString可以让你对字符串的操作更加直截了当。这篇文章不是CSt
指针:const与指针
const类型的指针可以指向非const类型的对象,但const类型的对象必须由const类型的指针指定: // C++ 语言强制要求指向 const 对象的指针也必须具有 const 特性 const double d1 = 3.14; const double *pd1 = &d1; // ok //double *pd2 = &d1; // error: invalid
我有一个char * 型指针正巧指向一些int 型变量, 我想跳过它们。为什么如下的代码((int *)p)++; 不行?
我有一个char * 型指针正巧指向一些int 型变量, 我想跳过它们。为什么如下的代码((int *)p)++; 不行? 在C 语言中, 类型转换意味着“把这些二进制位看作另一种类型, 并作相应的对待”; 这是一个转换操作符, 根据定义它只能生成一个右值(rvalue)。而右值既不能赋值, 也不能用++ 自增。(如果编译器支持这样的扩展, 那要么是一个错误, 要么是有意作出的非标准扩展。) 要达
char 类型指针与数组 赋值想到的
char *p = “hello”; 上边的表达式为什么可以,而把p换成数组,然后再赋值就不行了 解释: 字符串常量”hello”出现在一个表达式中时,表达式使用的值就是这些字符所存储的地址,而不是这些字符本身。      所以,可以把字符串赋值给指向字符的指针p,而不能
char 指针操作char数组
#include <iostream> #include <stdlib.h> #include <cstring> using namespace std;int main() { char a[10],*p; int m=1,n=3; cout<<"please enter your string:"<<endl; cin>>a; int len=strle
keil c51 指针与存储类型
如STC89C51有512bytes的RAM,128的data,256的pdata,个别时候缓冲区较大,需要将其定义在pdata区,常量可放在code区。当使用的变量超过RAM时,就会编译不通过。 Program Size: data=25.0 xdata=245 const=0 code=1970 creating hex file from ".\OBJ\DS2480 Driver"... ".\OBJ\DS2480 Driver" - 0 Error(s), 14 Warning(s).
void 类型指针以及指针数组
void 类型比较特殊,它可以表示所有的类型,但是又不能像其他类型那样声明成实体。在很多项目中的函数的参数使用void* 型数组,在void*数组中,即可以有int型,可以有char型,也可以有结构体,将这些参数放在一个void* 型数组中。 值得注意的是,不能直接使用void型变量,而是使用void*,即void 型的指针。 比如:int a; void b; void* c;这里第一行声
关于空指针(指针指向为NULL)和void类型的指针的理解
正在学C,书上老说空指针,
const修饰指针的用法:常量指针和指针常量
const通常用来修饰变量不能够更改值,多用来保护变量或参数。 const int b = 100; //b = 0;错误 当const修饰指针时,由于const的位置不同,它的修饰对象会有所不同。 如下代码,int *const p2中const修饰p2的值,所以理解为p2的值不可以改变,即p2只能指向固定的一个变量地址,但可以通过*p2读写这个变量的值。
相关热词 c# 增加元素 c#控制台简单加法 c# 服务端框架 c# 判断事件是否注册 c#中is和has c# udp 连接超时 c#词典 c#实现排列组合 c# oss 上传 c#判断输入的是否为ip