结构体指针和结构体中的指针的区别
1、针对的数据类型不同:
结构体指针:结构体指针对变量。
结构体中的指针:结构体中的指针指成员。
2、针对的含义不同:
结构体指针:指向结构体类型的指针。
结构体中的指针:指成员指针。
3、用法不同:
结构体指针:
struct?A{?int?a;flaot?b;};struct?A?m,*p=&m;p就是struct A类型的结构体指针,指向了同类型的结构体变量m。
结构体中的指针:
struct?B
{?int?a;float?*b;struct?B?*next;};struct?B?m,n;?float?bb=1.1;m.b=&bb;m.next=&n;b成员是指float类型的指针,next成员是指struct B类型的指针。
指针数组和数组指针的区别主要有以下几点:
1、数组名不可以改变,而指向数组的指针是可以改变的。字符串指针指向的字符串中的字符是不能改变的,而字符数组中的字符是可以改变的。求数组长度时,借用数组名可求得数组长度,而借用指针却得不到数组长度。
2、数组名的指向不可以改变,而指向数组的指针是可以改变的。因为数组名的指向是不可以改变的,使用自增运算符自增就会改变其指向,这是不对的,数组名只能指向数组的开头。
3、指针数组是一个数组,数组的元素都是指针,数组占多少个字节由数组本身决定。数组指针是一个指针,它指向一个数组。在32位系统下永远是占4个字节,至于它指向的数组占多少字节。
4、字符串指针指向的字符串中的字符是不能改变的,而字符数组中的字符是可以改变的。指针数组本身就是个数组,只不过呢,它里面存放的数据类型不是int,也不是char这类基本类型,而是一个指针类型,说白了就是地址。
扩展资料:
对于指针数组,首先,它是一个数组,知道数组的元素是一个指针,换句话说,数组存储一个指针。此外,数组本身的字节数由数组本身决定;
数组指针,首先它是一个指针,数组指针的指针数组,也就是说,它是一个指针指向一个数组,唯一可以确定的是它是4个字节在32位系统中,但多少字节是指向一个数组,这不是确定的,它取决于情况。
鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com
图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!