听说C语言的指针学起来很难?求指教.

如题所述

你把指针看成一般变量就行了,只不过类型是指针型的,就像整型变量是整型一样。
一般变量存放的数值,而指针变量存放的是地址,如把存放数值的内存空间看做房间,地址就是门牌号码,指针变量就是记录了门牌号的纸条,用指针就能找到房间,从而得到里面的数值。
所以,你直接用指针变量,得到的是一个地址,前面加一个*就是取这个地址里的值。
另外,和其它变量一样,指针的值是可以改变的,你可将同类型数据地址赋值给同一个指针变量。
温馨提示:内容为网友见解,仅供参考
第1个回答  2020-03-31
首先,你得理解一个概念。就是编译器和可执行代码的关联。
编译器负责把你的C代码翻译成可执行的目标代码。由于你着重了指针这一点,那就得明白指针到底是啥。
有很多人喜欢把指针当作地址,其实这个说法并不太正确,如果是地址的话,他应该能被存储,但实际上,指针在编译器看来,只是相当于告诉编译器:我现在需要你(编译器)分配一个地址(如果一个数据占有多个连续内存空间,则是分配这一连续空间)来做好存放某个数值的准备。
C 语言里面 unsigned char * x = 8;
而编译器则会认为是(假定char是1byte,环境在单片机)
MOV R0,#addr(告诉编译器准备某个地址addr,addr是如何决定的?这取决于一个链接C语言和汇编的文件,这份文件会告诉编译器从哪里开始生成addr)
MOV @R0,#8
你只要理解了这一点,你就能明白指针和其所处环境相关,而且R0是CPU寄存器,这也是为啥指针访问速度会很快。此外,由于C语言是基本上与底层相关的语言,因此,我觉得你有必要认真了解指针的实质(我上面已经明确给出),很多初学者学习指针都经常犯错,但若你在我说的基础上再去学习指针,你一定会少走很多弯路。
第2个回答  2020-02-22
其实并不难,指针只是C语言中的一个语法而已。任何的语法都是学习了、练习多了也就灵活使用了,指针也是一样,所以没啥难的,相信自己能学会。关于指针的讲解,你可以去听听黑马程序员老师的讲解,简单易懂,很快就能让你从指针的坑里出来!如果有需要,随时欢迎你的询问。本回答被提问者采纳
第3个回答  2020-02-22
指针不难,只是出的题目比较变态;记住一点,指针就是一个指向地址的变量就好了。
第4个回答  2020-02-22

不难,间接寻址而已。

为什么c语言指针那么难?
指针确实难于理解。指针具有两个身份:第一,指针本身是一个变量。只要是是变量,它就占用内存地址。当然如果没有分配内存地址,不在其内。第二,指针包含一定的一个内容。指针所特殊的就是,他的内容保存的是其他变量的地址。以上两点可以通过书中的示例7-7有比较好的体现。例如,定义指针变量intp1。

c语言中指针好学吗,我听不懂但看题目好像很简单,能有人给我指点一下嘛...
在C语言中“指针表示的就是地址”,关键要弄清指针变量的指向,即指针指向的地址。然后用指针运算符“※”可以得到指针所指地址的值。打个比方:你要找到张三,张三的地址 = xx大厦xx单元2楼05号,指针就相当是“张三的地址”:"下标不从 0开始,如floor[1]door[2]表示第1楼的第2号的人"。张三...

c语言指针
最近学c语言指针,真是太混乱了,课后题不明白,求大神讲的通俗易懂些,例如编写一个函数,能同时求出三个整数的最大值和最小值,并通过形参把结果传回给调用函数。通过形参把结果传回... 最近学c语言指针,真是太混乱了,课后题不明白,求大神讲的通俗易懂些,例如编写一个函数,能同时求出三个整数的最大值和最小...

刚学C语言,指针不是很懂。望指点一下。 1、int a=5,*p=a; 2。int b...
2是定义指针p的同时将p指向b,对p的赋值相当于对b赋值 3 是先定义变量c并赋值为5,接着将指针p指向变量c(此后对p的赋值操作相当于对c操作,如*p = 12相当于c=12)2,3可以不过应完整点(只需先定义指针即可)(对2:int *p; int b = 5; *p = b)(对3:int *p; int c = 5; ...

在C语言中,到底是指针难 学还是算法难学?
并彻底了解指针的概念。但算法不同,没人敢说自己对所有算法都掌握并能熟练运用了。同样,在C语言中,对指针本身的研究基本停止了,毕竟这只是一个工具,就象没人肯研究锤子本身一样。人们主要研究的还是算法方法的东西。也就是怎么把工具用的更好。所以,算法难学 ...

c语言哪个最难
最难的部分:C语言中的指针最难掌握。C语言中的指针是C语言的核心特性之一,也是其强大和灵活性的来源。但同时,指针也是C语言中难度最大的一部分。指针涉及到内存管理和地址操作,需要深入理解计算机内存结构和内存管理机制才能有效使用。不当的指针操作可能会导致内存泄漏、野指针等问题,使得程序出错甚至...

学C语言的指针,有没有什么好的方法啊?
个人觉得C中的指针没什么难的,你就想象成快捷方式就可以了,如果没有*就是快捷方式本身,如果带*就是你双击了快捷方式,挺好理解的 也就是二级指针难点,但如果一级指针学透了的话也不会太难的,总之就要多使用,在学习指针的阶段,用数组等的地方时,尽量使用指针,实践出真知,不会太难的 ...

C语言指针怎么能够更好的掌握啊!跪求好方法!
1_分辨指针的的含义内涵,指针也称指针变量,是一个变量,与int,char等一样,有地址,内容装的是别的地址,可以是int,char,也可以是指针(**)…2_定义与使用int i,*per=&i;看到int后i,*per的内容是相同的…3_…4_建议找一本专门研究指针的书,如《指针的艺术》就很入门…...

c语言指针怎么复习啊,太难了
5,可以通过指针调用函数 等等。最后哥哥总结下:总之指针是c语言的精髓,精通c语言的前提是精通指针。所以学好指针是必要的。哥哥想说的是,指针用得好,那么程序效率高,但是如果用得不好,或者滥用指针的话,就是像《杨贵妃秘史》里头说的那个小人李静忠一样,当时杨贵妃手软没杀那小子,然后皇上身边...

关于C语言指针的问题
书上和很多专业人士都说,指针是C语言的主要特点,没掌握指针就没有入门。但我看那些C语言方面的程序题目,用到指针的地方并不多,我也知道指针就是地址,但不知道具体用法,请问,指... 书上和很多专业人士都说,指针是C语言的主要特点,没掌握指针就没有入门。但我看那些C语言方面的程序题目,用到指针的地方并不多...

相似回答