c中关于char指针的混淆
发布时间:2020-12-16 10:51:27 所属栏目:百科 来源:网络整理
导读:我是c语言的新手,我正在努力理解指针概念. 我有关于char指针的基本问题, 我所知道的是指针是一个存储地址值的变量, 所以当我写这样的时候: char * ptr = "hello"; 根据我的基本知识,我认为在=之后应该有一个地址分配给指针,但是在这里我们分配“hello”这是
我是c语言的新手,我正在努力理解指针概念.
我有关于char指针的基本问题, 我所知道的是指针是一个存储地址值的变量, char * ptr = "hello"; 根据我的基本知识,我认为在=之后应该有一个地址分配给指针,但是在这里我们分配“hello”这是一组chars. 提前致谢. 解决方法
ptr将地址保存到文本“hello”的存储位置.在这种情况下,它指向一个字符串文字.它是位于静态(最常见的只读)内存中的不可变字符数组.
您可以通过重新分配来使ptr指向其他内容,但在此之前,修改内容是非法的. (它的类型实际上是const char *,为了C兼容性,不推荐转换为char *(在C 11中甚至是非法的). 由于这种保证,编译器可以自由地优化空间,因此 char * ptr = "hello"; char * ptr1 = "hello"; 可能会产生两个相等的指针. (即ptr == ptr1) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- # swift2.0 数据结构:元组,枚举,结构体
- oracle PROCEDURE
- PostgreSQL pgcrypto模块加密解密函数
- ArcGIS.Server.9.3和ArcGIS API for Flex实现MapTips(八)
- reactjs – React Router不呈现Component
- winforms – C# – 通过特殊的方式将水印添加到照片中
- (XML)根元素后面的文档中的标记必须格式正确。出发地点:6:
- RED5&Flex流媒体应用实战开发视频下载
- redux 介绍及配合 react开发
- ios – 我们可以在Objective C中创建#pragma mark的细分吗?