www.xzhc.net > ChAr *str[] = { "hEllo" }; ChAr *p; p = str[0];

ChAr *str[] = { "hEllo" }; ChAr *p; p = str[0];

楼上的解释是对的,给你举个例子吧把你的程序稍作修改 char *str[] = { "hello","world"}; char *p; p = str[0]; 那么cout<<str[1];输出的结果将是world,实际上你可以把*str[n]看成是一个二维数组。而指针p所指向的是第一个字符串的首地址,...

char * p = str 定义指向字符串的指针p 并初始化为 str。即让p 的值(地址)等于str的值(也是地址); char *p 定义指向字符串的指针p,没有初始化; p = str; 对p赋值,让p 的值(地址)等于str的值(也是地址); char *p = str 等效于 char ...

B.5是正确的。 char *p=str[0];中char *p说明p是个字符型指针,每加1前进1个字节;而 str[0]是二维字符数组第一行的首地址,就如char a[X]中的a一样。你声明的二维数组第二维长度是10,那么p+10就指向了字符“w",从"w"开始,用strlen计算的刚好...

sizeof(str)=6 str是数组,sizeof得到的是它的内存空间大小,hello串有一个结束符,共6位 sizeof(p)=4 p是指针,所有的指针都占四字节

p 的类型是 char * str的类型是 char [],即char [6] sizeof是判断类型大小,指针的大小在32位机上是4

sizeof(p)=4 因为 char *p。。; 声明了 p 是指针。 只要是指针,无论它指向什么类型,32位系统上,都是4字节。32位系统上地址是 unsigned long int, 是 4 字节。表达式 sizeof(p) 的值 就是 4。 int *p1; double *p2; float *p3; ... sizeof(p1...

a是一个一维数组指针(其实就是二维指针)。p是一个二维指针。p和a的地址是一样的。都是字符串“hello”的首地址。不知道这样说行不行。 因为char **p = a是一维数组的指针。也就是说p[0],p[1]指向的是一维数组。p的地址等于a的地址所以,p[0]=a[0...

int main() { char *p,*q; //定义char型指针 p q char str[]="Hello,World\n";//定义一个char数组 str[] q = p = str;//把p和q都指向str数组第一个数的下标,就是"h" p++;//把p的指针后移一位,就是"e" print(q);//打印出q print(p);//打印出p v...

你是想用数组指针吗?应该像这样用。 例如:{int a[4][5];int (*p)[5]=a;}这里a是个二维数组的数组名,相当于一个二级指针常量;p是一个指针变量,它指向包含5个int元素的一维数组,此时p的增量以一维数组长度为单位;p+i是二维数组a的i行的起始...

应根据编译器对各类型决定了,以下为32位机标准的结果 char str[ ]= ”Hello”; char *p=str; int n=10; sizeof(str)=( 6 ) sizeofchar str[ ]= ”Hello”;/*有误吧,应该重复了吧*/ char *p=str; int n=10; sizeof(str)=( 6 )/*求总共的字节数,不...

网站地图

All rights reserved Powered by www.xzhc.net

copyright ©right 2010-2021。
www.xzhc.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com