《C和指针》——C语言补漏(指针篇)

本文深入探讨了C语言中指针的基本概念与高级应用,包括指针声明、初始化、算术运算、数组与指针的关系及函数指针等。同时介绍了如何通过指针进行有效的内存管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

欢迎访问我的博客:http://haofly.net/blog/2014/05/14/c-and-pointer1/

没错,对于指针,我确实只能摘取书上的少许内容,因为我在数据结构的时候已经弄明白了很多,所以这一部分并没有仔细的看,还有后面的用 C语言实现抽象数据类型,数据结构里也有讲,所以我建议还是先看《C和指针》再去学数据结构。

1.在声明指针变量时,可以为它指定初始值,如:

char *message = "Hello World!";

2.指向整型常量的指针,可以修改指针的的值,但不能修改它所指向的值:int const * p; 指向整型的常量指针,指针本身无法被修改,但是可以修改它说指向的整型的值:int * const p;
3.指针变量可以作为左值,如*d = &a;并不是因为他们是指针,而是因为他们试试变量,左值必须要能找到确切的位置
4.指针其实也可以相减,前提是他们都指向同一个数组中的元素,而且减法的结果是经过了调整的,会除以元素类型的长度。

5.数组(指针)也可以用负来访问,如a[-1],但是这和其它语言的负索引并不一样,它是指a这个指针前面的一个元素。数组甚至可以用诸如2[array]访问,因为他们都会被翻译为#( 2 + (array) )
6.之所以我们在函数声明中包含二维数组的时候必须把第二维的数目声明,是因为我们传递进去的是一个指针数组
7.在建立指向函数的指针的时候可以建立一个转换表,就是一个函数指针数组
8.在数组不够用的时候要学会使用动态内存分配,一般初始用malloc,之后如果发现不够用,就用realloc
9.字符串常量也是一个指针,如”123”+1表示的并不是123,而是123这个字符串的指针加1即元素2的指针,也可以这样烦我呢”123”[1],他就是元素2


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值