C语言中、charpa)和char pa

2020-11-24 22:09:43 字数 3389 阅读 8309

1楼:匿名用户

指针数组:int *pa[5]; //它是五个指针。这五个指针组成一个数组

数组指针:int (*pa)[5]; // pa是一个指针变量。它指向一个有四个数组 void main()

b[strlen(a)]='\0';printf("%s\n",b);}

2楼:匿名用户

pa=&a;实际上是将指针a的地址赋给了pa,或者说是将指针的指针赋给了pa

3楼:匿名用户

char (*pa)[5];不是定义指针数组,是用来定义指向一组数组的指针变量char *pa[5]才是定义指针数组

c语言中char(*pc)[5]是什么意思

4楼:阿呖噶祷

pc是一个指针

该指针指向一个数组

该数组内容为5个char型字符

5楼:匿名用户

定义一个数组指针

http://baike.baidu.

***/link?url=cwj_bonfmmr_6ybhq0h4vowibzfxiph4zjpxw4_i4yy0ncwcxipiv6jod-6nkciragnov3beno5u4mfsva9aha

c++中有定义语句"char *pa[5];" 则sizeof(pa)的值为多少

6楼:it孤鹜

20因为

*pa[5] 是一个指针数组

一个指针 要分配一个int存储他的地址 所以 sizeof(pa[0])=4

那个5个,就是 5(ˇˇ) 5x4=20

7楼:子同

20char*pa[5];是定义一个指针数组,数组含有5个元素。指针一般是占4字节。所以4*5=20

8楼:匿名用户

sizeof(pa)应该是20个字节,因为这个时候pa指向一个字符串数组,它占的大小其实就是一个指针的大小*4

9楼:匿名用户

20,pa是个指针数组,元素是char指针,每个指针占4个字节,有5个元素,共20

10楼:匿名用户

4,pa是一个指针,指针的大小就是4个字节

char *a=new char[5]和char a[5]区别

11楼:匿名用户

内存空间

分 堆 和 栈

char *a = new char[5]; // 这个申请是在堆上面的,需要delete a

char a[5]; // 这个申请是在栈上的栈不支持动态申请

堆支持动态申请

12楼:匿名用户

new的要delete释放是因为new出来的是分配在堆中,用完要释放掉。

如果不delete的话之前申请的内存要到os重启才能收回

用这种方式声明基本类型时没有其他区别了。

关于c++中对int *pa[5]的理解

13楼:眼眶的湿润

答案表述的并不好,pa的确是一个指针数组,但是并不代表它所指向的一定是一个数组,它的含义是一个数组里5个元素恰好都是指针,可以分别指向5个整型变量,所以我觉得a选项的答案容易产生误解。

建议你阅读指针数组与数组指针的区别,或者你可以继续提问我。

14楼:匿名用户

额,答案好像是错误的。

这个其实要看变量优先和谁结合。举个例子:

例如int*pa[5]和int(*pa)[5]int*pa[5]默认要先结合,所以先可以得到pa[5],即pa是一个大小为5的数组

然后表达式剩下int*,即表示数组中存储的是int型的指针。

综合就是pa是个指针数组,数组大小为5

而对于int(*pa)[5],括号优先级别最高得到(*pa) ,表示pa是一个指针

然后是外部的数组符号,表示pa指向的是一个数组,数组的大小是5最后是那个int,表示数组中存储的是int型的数据。

综合就是pa是个数组指针,指向的数组为5个int型的元素,这个才会选a选项的那个答案。

15楼:匿名用户

对于 int a;你是知道 a是int型的; 对于int* a; 你是知道a是指向int型的point; 对于int a【】;你是知道他是一个数组,a point向数组的第一个元素的;那么对于int *pa[5]的理解就是 a【5】指向int型的,但p【5】又是数组,所以他是个point 数组,并且有5个元素!!

我怀疑你的答案是错了,还是你说的是int (*pa)[5]的理解,对于他就是你答案的理解!!!!

16楼:古树上的毛毛虫

眼睛的湿润 的回答我感觉是正确的

char*(*a[5])(void*(b[10])(char **c));谁能给我解释下..

17楼:上帝来自地球

我给你简化一下

1.typedefchar**ppch;

2.typedefvoid*(vapfunc[10])(ppchy);

3.typedefchar*(*t)(vapfuncx);

从而题目可简写为:

ta[4];

现在应该很清楚了吧,呵呵

详细解释,就是:

a是一个指针数组,指针的类型是t,t所指向(返回类型为char *,形式参数类型为vapfunc的函数);

c语言 const char * arr[5]什么意思?

18楼:

arr是具有5个元素的数组,每个元素都是char型变量的指针(即char *型指针),且char变量的值是不可更改的。

c++的指针问题 .对于“ int *pa[5];”的描述,正确的是________。

19楼:匿名用户

正确选项是d,pa是变量名称,优先级高于*,所以pa是数组,数组的元素是int*

char a[5][5]={{' ',' ','*'}

20楼:匿名用户

你把char [5]当成一种数据类型,假设就叫x5类型,char a[5][5] 就是5个x5类型。

char a[0][5]

char a[1][5]

char a[2][5]

char a[3][5]

char a[4][5] //每个下面都有5个元素。所以那样初始化,它都初始化为 空格 和*字符了。

c语言中"定义"char"a 1"和char"a“1”和c

1楼 风雷雪电 第一bai 个char a 1,则a的值du为数值1。 第二个语法zhi 错误。第三个char a 1 ,则daoa的值为字回符 1 ,对应的数值请参考ascii码,答是数值49。此时 printf d a 得数值49printf c a 得字符1 c语言,char a 和char ...

C语言中的栈和堆是什么,C语言中的栈、堆是什么?

1楼 仙女小迷仔 1 计算机中的内存分为两部分 一部分是栈 stack,也称堆栈 ,另一部分是堆 heap 。 2 栈,可以看作是一摞卡片,最上面的卡片表示程序的当前作用域,这往往就是当前正在执行的函数。 3 堆,一段完全独立于当前函数或者栈帧的内存区。如果一个函数中声明了一些变量,而且希望当这个函...

C语言char p(charmalloc(100)

1楼 匿名用户 堆参看资料 http blog csdn misskissc article details 17717717 int p char malloc 100 2楼 文化厨子 这个要根据你使用的编译器来决定 ,最简单的方法 include int main 你不用管那些,你只要free它...