恶补C语言指针中!!!
学习C语言我用的是阿尔法编程,网址:阿尔法编程 (alphacoding.cn)
深入了解指针以后,才发现了指针的魅力!!!
会使用指针是一件很酷的事情!!!
一:指针在数组中的应用:
数组在内存中:
数组中的元素在内存中是连续的,整个数组占用的是一块内存。
数组知识:
1.数组的表示很简单,如:int a[]={1,2,3,4,5};
其中,a为数组名,也可以认为它是一个指针,地址为数组a的首地址,也是a[0]的地址。
2.数组元素的使用:①数组名+下标,如:a[1],引用的就是数组的第二个元素(第一个元素为a[0])
②*(首地址+偏移),如:*(a+1),其中a+1指向的是a[1]的地址,而*为取值。
3.如果用另一个指针p指向数组a,则数组元素使用:
1.指针+下标,如:p[1],引用的是数组的第二个元素a[1],
2.*(指针+偏移),如:*(p+1),引用的是a[1]的值
二:指针在字符串中的应用
数组知识:
1.C语言中,没有指定的字符串类型,我们通常将字符串放在一个字符数组中,如:
char str[]="nihao";
2.使用指针指向字符串:(这个指针叫做字符串指针)
①char *str = "nihao" ;
②char *str;
str = "niihao";
3.像使用数组元素一样,它的用法也类似于数组元素(即上面提到的“数组元素的使用”和“如果用另一个指针p指向......”)。
4.字符串的定义可以用1,也可以用2,那么二者有区别吗?!
有!
字符数组的存储区域在全局数据区或者栈区,权限为读取和写入;
字符指针定义在常量区,权限只有读取,没有写入!
以上就是指针在数组和字符串中的应用。如果对你有帮助,可以点个赞吗(buling)(buling)
欢迎在评论区留言(鲜花)(鲜花)