00问答网
所有问题
当前搜索:
char *p[10]
char
(
*p
)
[10]
;是什么意思
答:
char (*p)[10]
;代表了一个指针,这个指针是指向一个大小为10的字符数组;需要与char *p[10];区分开来,这个代表了一个大小为10的数组,数组的每个元素都是一个字符指针。想要了解C语言的声明,推荐查看《Expert C Programming》,里面介绍的非常详细。
char
*p[10]
答:
“可以理解
char *p[10]
等于p[10][]的二维字符串,也就是说有10个字符串空间。”这样理解是不对的,这里只是指针,没有字符串空间 char *和字符串并不是等价的,字符串只是char*的一个特殊用法
char
*p和char
*p[10]
有什么区别?
答:
char *p是个字符指针;
char *p[10]
是个字符指针数组;p可以指向一个字符串地址,p[10]可以保存10个字符串地址。
对于p有定义:
char
* (
*p[10]
)();则p是:
答:
直接看p所在的最深的一层括号里面就行了。
p[10]
表示p是个数组,左边的*表示p是个指针数组。所以选C。继续分析的话,看()外面,右边是(),表示p这个指针数组中的元素指向的是函数,再看左边就知道这个函数的返回类型是
char
*。因此p是个指针数组,其数组元素类型是函数指针。指针指向的函数类型是...
main( ) {
char
*p[10]
={"abc","aabdfg","dcdbe","abbd","cd"}...
答:
strlen(
p[
4])表示指针p中第五个数组的长度(0、1、2、3、4所以为第五个)在定义的指针p中第五个数组为“cd"所以输出结果为2
有以下程序 main( ) {
char
*p[10]
={"abc","aabdfg","dcdbe","abbd...
答:
输出:2
char
*p[10]
;是一个指针数组,p[4]是指向字符串"cd"的一个指针,strlen(p[4])=2.
...是什么意思?例如int *a
[10]
;a[0]=j-i;(i、j均为指针)。
答:
那么我声明一个数组如:
char
*p[10]
;是不是表示10个类型为char的指针,也就是说p[i]是只向char类型的指针,那么我在这里并没有定义指针所指向的char类型的大小,那么这个指针何时是个边界啊? 追答 char *p[10]; //此时p[i]是野指针,它的值是随机的,所以指向的不是合法内存。必须逐个元素赋值才能用。比如for...
C语言,
char s
[]
[10]
={…省略…},那(
*p
)[10]=s怎么理解
答:
cahr
[10]
分别是3个类型 所以,例如:
char s
[3][10] //看成一个数组,有3个元素的数组,//每个元素的类型为数组,即char [10]//看成一个类型后,和char s[3]一个意思 同理 char (
*p
)[10]=s 看成 char (*p)=s.//同类型的指针才能指向同类型的变量,他们都是char [10]类型的...
c语言,若有定义:char
*p
(
char[10]
);则p是函数名。这个对吗?为什么...
答:
这样写的话,p虽然是函数名,但这样 是函数的声明形式,不是定义(没有函数体)
给指针malloc分配空间后就等于数组吗
答:
指针数组是指所定义数组的每个数组元素都是一个相应数据类型的指针,开设空间的操作可以应用循环语句进行,例如:对于
char
*p[10]
; 可以应用 for(i=0;i<10;i++)p[i]=(char *)malloc(sizeof(char)*N); //为每个指针申请开设N字符的存储空间 开设后,对于p的使用与二维数组的使用格式类似,...
1
2
3
4
5
6
7
8
9
10
下一页
尾页
其他人还搜
char s[10]
const char *p
char a='a'
int a[10]
c语言1到1000素数编程
char(10)
const char
char *s
char*