第6章,指针

值和类型:

在具体的某个内存地址上,存储的都是01代码。而这些01代码具体被指定为什么值是需要视其具体类型为什么的,这样这些01代码才能够被解释为正确的值。

指针变量的内容

指针变量存储的值是另外某个内存区域的地址,并且也要认识到这个指针变量自身也有一个地址。

间接访问操作符

通过一个指针访问它所指向地址承载的内容的过程称为间接访问或解应用指针。

未初始化和非法的指针(非法地址?)

NULL指针

在还不确定某个指针到底指向哪里的时候,可以给指针赋值为NULL(也可以赋值为0,应为NULL就是0的宏定义,而地址空间的0是不会被使用的)。

void指针

void代表无类型,不能定义变量,诸如void a这种变量定义肯定是错误的;

而void *则可以代表任何类型的指针,可以把任何类型的指针赋值给void * 类型的变量的 ;

对void *的变量不能直接解引用,而先要用强制转换为具体类型再解应用,不然不知道如何解释这个内存地址中的值;

(tips:字符串类型实则可以不强制转换而世界对void解引用,这是因为系统默认对地址使用字符串形式的解引用,但我们还是不要依赖这个特性,而是继续采用标准的先强制转换再解引用)

指针常量

(假定100代表a的地址)

指针的指针

指针表达式

指针运算

1.算术运算

指针+/-整数:当一个指针和一个整数量执行算术运算时,整数在执行加法运算前始终会根据指针的类型来进行大小调整,调整就是把整数值和“sizeof(变量)”相乘。

指针-指针(只有两个指针都指向同一个数组中的元素时,才允许从一个指针减去另一个指针)。结果为两个元素在数组位置中的相对大小。

2、关系运算

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 指针是C语言中广泛使用的一种数据类型。 运用指针编程是C语言最主要的风格之一。利用指针变量可以表示各种数据结构; ...
    朱森阅读 8,827评论 3 44
  • 前言 把《C++ Primer》[https://book.douban.com/subject/25708312...
    尤汐Yogy阅读 13,154评论 1 51
  • 基本内置类型 算术类型字符整型布尔值浮点数 空类型(void) 算术类型 带符号类型和无符号类型int、short...
    2625K阅读 8,757评论 0 1
  • 凌霄之龙(五)悬崖奇遇 福娃著 【作者简介】福娃,杨炅灵,十一岁,小学六年级学生。爱好广泛,尤喜文字。在国家期刊等...
    福娃蜜妈阅读 3,255评论 6 12
  • “这个世界像变形的机器,多少人面目全非心口不一” 漆黑寂静的夜晚里,一首《伊萨贝拉》循环往复的听了一整晚。 渐渐的...
    蓝岸阅读 1,324评论 0 0

友情链接更多精彩内容