C语言指针问题

2024-11-28 19:39:54
推荐回答(4个)
回答(1):

弄清楚一个概念:变量地址不等同于变量。初始化后,变量地址是被系统赋予的一块指定的区域,变量地址本身不是变量。而指针则指向这块儿区域的首地址。所以按照问题中提到的方式赋值是可以的
采用"近水楼台先得月"的方法:即忽略数据类型的存在,再看const离谁最近。int* 离p近,说明p的指向不能变,即p开始指向哪个变量就只能指向这个变量,不能更改。但p指向的变量可以变。
intconst*p:const离*p近,说明p的指向可能变,但p指向的变量不可以变。 constint*p同intconst*p。int*constP;非常量数据,常量指针constintconst*P;常量数据,常量指针constint*p;常量数据,非常量指针你要搞清楚常量指针和指针常量的区别。 采用"近水楼台先得月"的方法:即忽略数据类型的存在,再看const离谁最近。int* 离p近,说明p的指向不能变,即p开始指向哪个变量就只能指向这个变量,不能更改。但p指向的变量可以变。
intconst*p:const离*p近,说明p的指向可能变,但p指向的变量不可以变。 constint*p同intconst*p。int*constP;非常量数据,常量指针constintconst*P;常量数据,常量指针constint*p;常量数据,非常量指针你要搞清楚常量指针和指针常量的区别。 采用"近水楼台先得月"的方法:即忽略数据类型的存在,再看const离谁最近。int* 离p近,说明p的指向不能变,即p开始指向哪个变量就只能指向这个变量,不能更改。但p指向的变量可以变。
intconst*p:const离*p近,说明p的指向可能变,但p指向的变量不可以变。 constint*p同intconst*p。int*constP;非常量数据,常量指针constintconst*P;常量数据,常量指针constint*p;常量数据,非常量指针你要搞清楚常量指针和指针常量的区别。

回答(2):

先不说别的int arr[arrLength];这样声明就不对 声明数组大小必须是常量 还有返回函数里的数组指针不对 函数里的数组生命周期只在函数里

回答(3):

30分钟彻底学会C语言指针

回答(4):

p-a+1;
p-a
把a看作是指针
指向是数组的首元素
即是数组剑法
两个数组想减
即它们的地址差之间有多少个int
的Size
最开始p
和a的地址值是一样的
所以是
0+1,1+1,2+1;。。。。。。