嵌入式C语言-指针快速入门(1)

嵌入式C语言-指针快速入门(1)

博主是一名热爱学习喜欢交流的研究僧。 希望在这里可以和大家一起进步、交流。好了,言归正传。对于C语言来说大家都已经不陌生了吧。博主在大学时期学过,研究生期间也学发现自己还是进步不大。我想这里有二方面的原因:
(1) 很重要,不要觉得任何一门语言简单的语法就不去敲代码,你要相信,代码敲的多了你的水平也就上去了。
(2) C语言中的精华------指针。
关于学习指针,博主有一些小小的心得,让你快速的先认识指针,并且每次看见指针,就会想起博主所说的步骤:
1. 指针的类型是什么?
2. 指针指向的类型是什么?
3. 指针的值?(也就是指针所指向的内存区)
4. 指针本身占的内存?
看到这里,大家是不是还是一头雾水?别着急给你出几个简单的例子你就会轻松掌握。下面请看例子:

						int  * ptr
						char * ptr
						int  **ptr
						int (* ptr) [20]
						int *(* ptr) [33]

如上所示:为5个例子,首先我们按照博主的思路,思考一下指针的类型是什么?
第一步:指针的类型就是分别去掉变量名就是他们的属性啦。这下你会写了吗? 分别是:

int *     char *    int **      int(*)[20]        int *(*) [33]

第二步:指针所指向的类型是什么? 记住和第一个区别指针的类型和指针指
向的类型是不同的概念哟

int     char       int *       int () [20]        int *()  []

第三步:指针的值?
这个就是指针所指向的内存区,我们都知道,指针保存的是地址address,那么指针所指向的那片内存区就是你所使用的处理器的字节数(一般32位),一般指向的为他的首地址,长度为sizeof(例如int+4)的一篇区域
第四步:指针本身所占的内存区?
就是指针你写的这个等式占据了多大的内存?只需要sizeof(指针的类型也就是第一步)就知道啦。

总结一下,今天所学的难点就是第三步,我们要记住,比如我们以后说这个指针的值为 2312 就等于说该指针指向了以2312为首地址的一片连续区域,而我今天写的因为没有赋值,所以这些指针全部是毫无意义的,系统并 没有开辟一段空间或者叫内存区,因此以后看见指针先从这四步想想?
好了,今天就第一次写到这里,下次更新如何一眼看懂复杂的指针表示以及简单的运算,谢谢大家,有错误可以提,希望一起进步。

你可能感兴趣的:(嵌入式,c语言,c++,嵌入式,指针)