`
liu1028701143
  • 浏览: 36238 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
社区版块
存档分类
最新评论

C/C++ 指针部分总结1

阅读更多
1、指向常量的指针,防止通过指针去修改变量的值,而不管变量是否我const
int x =3;
const int *pc = &x;

*pc = 888;
printf("x=%d\n",x);

2、指向常量的指针,该指针可以指向别的变量,指针的value是可以更改的;

pc  = &bb ; //可以

3、指向常量的指针,不能赋值给一个普通的指针;

定义基本类型的const变量 const在哪都可以;
const Int x=2,y=3;

定义一个非const变量;
int z =3;

定义一个指向常量的指针;。。常指针!!!保护指针不被修改
const int *pc = &x;

定义一个常指针;
int *const cp = &z;

定义一个非const 指针

int *pp = &z;

z=y; //const 变量只能做右值,不能做左值

x = y x是const变量,所以x的值是不可修改的

pc  = &z;//pc是指向常量的指针,不能通过该指针修改指针所指的内存空间的值

//但是,该指针可以指向别的变量;

*pc = 10;//this is false because this *pc 是一个指向常量的指针;

*pc = y;//同上;

pc = pp;//pc是一个指向常量的指针。pp是一个普通的指针,用一个普通的
       // 指针给一个指向常量的指针赋值是可以的;

pp = pc;//用一个指向常量的指针赋值给一个普通指针 ;不可以;
         //如果可以,那么就可以通过普通指针去修改内存空间的值了,

z= 5;给一个非const的变量赋值
z= x;//const 给非const 去赋值也是可以的额!!!!

*cp = x;//通过常指针去修改指针指向变量的值,原则上来讲是可以的;
        //如果指向的变量是const的,那么不同编译会有不同的结果;

cp = &x;//常指针 指针的值不能被修改。给常指针的地址错误的


int swap (const int*)保护内存区域不被修改

pp  = &x;//可以。,非const指针;!!!!!!!!!!!!!


const char* str;;//指向常量的指针;指针是不可修改内容,但是是可以被读取的
不能赋值给一个普通指针;
0
0
分享到:
评论

相关推荐

    C/C++指针的用法总结实例工程

    在这个名为"C/C++指针的用法总结实例工程"的项目中,我们将深入探讨五种关键的指针相关概念,包括双重指针、引用、指针函数、指针数组以及数组指针,并通过实际的例子来帮助理解这些概念。 首先,让我们看看双重...

    林锐-高质量c/c++编程指南

    ### 林锐-高质量C/C++编程指南 #### 概述 《林锐-高质量C/C++编程指南》是一份由林锐博士编撰的专业文档,旨在为C/C++开发者提供一套规范化的编程指导原则。这份文档对于希望提升编程技能、编写出高质量代码的C++...

    C_C++指针经验总结.pdf

    ### C_C++指针经验总结 #### 前言:复杂类型说明 为了更好地理解和运用指针,本篇文章将深入探讨C/C++中各种复杂的指针类型及其应用场景。指针作为C/C++语言中的一项重要特性,对于程序员来说至关重要。然而,面对...

    C/C++面试大全 华为面试

    - **`#define`宏定义**:预处理指令是C/C++中非常重要的一部分,用于在编译前对源代码进行预处理工作,如宏定义、条件编译等。 - 示例:`#define SECONDS_PER_YEAR (60*60*24*365)UL`,这里定义了一个宏`SECONDS_...

    android NDK入门篇----混合使用java和c/c++代码 源码工程

    在Android开发中,NDK(Native Development Kit)是一个重要的工具集,它允许开发者使用C/C++语言编写部分或全部应用程序,以实现高性能计算或者利用已有的C/C++库。本项目是一个关于Android NDK入门的实例,展示了...

    C/C++之数组与指针的艺术

    指针是C/C++编程语言的重要组成部分,它允许程序员直接操作内存地址,从而实现高效且灵活的程序设计。然而,由于其复杂性和与传统思维模式的差异,初学者往往会对其感到困惑。 #### 一、数组与指针的基本概念 1. *...

    简单易懂的指针教程

    在计算机编程中,指针是一种非常重要的数据类型,尤其是在C和C++这样的低级语言中。指针能够直接操作内存地址,使得程序运行更加高效,同时也增加了程序的灵活性。本文旨在为初学者提供一个简单易懂的指针教程。 ##...

    Android Binder C/C++层实现示例

    总结,"Android Binder C/C++层实现示例"提供了一个实践性的学习资源,帮助开发者深入理解Binder机制的底层实现,包括Client和Server的交互、Parcel数据封装、Service Manager的使用等核心概念,从而提升对Android...

    腾讯c/c++面试题

    从给定的文件信息中,我们可以提炼出一系列与C/C++相关的知识点,这些知识点涵盖了面试题目的设计、数据结构、算法、操作系统基础以及面试策略等多个方面。以下是对这些知识点的详细解析: ### C/C++基础知识 1. *...

    android调用C/C++

    总结来说,Android调用C/C++主要涉及JNI的使用,包括本地方法声明、头文件生成、C/C++代码编写、库编译、Java调用等多个步骤。通过这个过程,开发者可以充分利用C/C++的性能优势来优化应用程序的关键部分。如果在...

    用汇编的眼光看C/C++之深入指针

    指针是C/C++编程中不可或缺的一部分,其强大的功能使得程序员能够更灵活地控制内存和数据。通过结合汇编语言的观点,我们可以更深入地理解指针是如何在底层工作的,这对于优化代码性能和避免潜在的错误至关重要。...

    C_C++指针经验总结

    ### C/C++ 指针经验总结:深入解析与应用 #### 重要概念与解析 在C和C++编程语言中,指针是一种强大的特性,它允许程序员直接操作内存地址,从而实现对底层数据结构的高效管理和访问。然而,指针的概念往往被认为...

    C C++指针经验总结

    ### C/C++ 指针经验总结 #### 前言:复杂类型的解析方法 在C和C++语言中,指针是极其重要的概念之一,它不仅能够帮助开发者有效地管理和操作内存,还是实现某些高级特性(如动态内存分配)的基础。然而,对于初学...

    C_C++ 指针

    在编程世界中,C 和 C++ 语言是两种非常重要的底层编程语言,它们以其高效、灵活性和对硬件的直接访问能力而闻名。...在阅读《C/C++指针总结.pdf》这份资料时,将会对这些知识点有更直观和详细的了解。

    高质量C/C++编程指南

    ### 高质量C/C++编程指南知识点概览 #### 第1章 文件结构 - **版权和版本声明**:为了确保代码的合法性和可追溯性,每个文件都应该包含版权信息和版本声明,明确指出作者和修改记录等信息。 - **头文件结构**:...

    C/C++ 笔试、面试题目大汇总

    从给定的文件信息中,我们可以总结出一系列关于C/C++编程语言的重要知识点,特别是针对笔试和面试场景下的常见问题。以下是对标题、描述、标签和部分内容中提及的知识点的详细解析: ### 1. 函数返回值计算 在微软...

Global site tag (gtag.js) - Google Analytics