数组指针和字符串指针那个所占内存大?

兄弟姐妹们,请说下,数组指针和字符串指针那个所占内存大?
最新回答
失心疯〆

2024-08-16 08:39:43

字符串指针是指有个指针,他可以指向一个字符串的地址,实质上,还是指向一个字符的地址,字符串不过是多个放在一起的字符的集合。字符指针占4个字节。
数组指针?不大明白你的意思,你是指数组名吗,还是指定义了一个指针,把某个字符的地址赋给了它?即一个指向数组的指针?事实上,数组只是我们说的一个概念,在存储时仍然是一个一个数据的存放的,指针在某一时刻都只是指向某个数据,不存在指向整体一说。
注:数组名表示数组第一个元素的地址,是常量。不给它额外分配内存。可以参考相关C语言书籍。
赵家小子

2024-08-16 09:13:36

先帮你理一下什么是指针
指针里存放的就是某内存空间的物理地址,也有人把指针比喻为指向某个房间的钥匙,房间有大有小,但钥匙总是一样大的。
柠檬你个思密达

2024-08-16 18:31:39

一样大
我想你会懂

2024-08-16 05:41:25

//改了两个地方,已标注在下面。
#include<stdio.h>
#include<string.h>
void main()
{
char c[10][80];
char *p[10];
int i;
void sort(char *p[10]);
for(i=0;i<10;i++)
p[i]=c[i];
for(i=0;i<10;i++)
gets(p[i]);
sort(p);
for(i=0;i<10;i++)
puts(p[i]);//改过!改过!改过!改过!参加排序是是指针,因此要改!
}
void sort(char *p[10])
{
int i,j;
char *t;
for(i=0;i<10;i++)
for(j=0;j<10-i-1;j++)//改过!改过!改过!数组超界!
{
if(strcmp(p[j],p[j+1])>0)
{
t=p[j];
p[j]=p[j+1];
p[j+1]=t;
}
}
}
东城冷人

2024-08-16 14:16:01

所有类型的指针都占用同样大的内存