泉州高铁南站规模:c++编译的初级问题

来源:百度文库 编辑:高校问答 时间:2024/05/10 11:23:30
第一个是指针问题
inta[4][3]={1,2,3,4,5,6,7,8,9,10,11,12},
int(*prt)[3]=a, //这句什么意思?
*p=a[0];

当ints[5]={1,2,3,4,5}
*p=s; //p=s是把指针地址指向数组s的第一个元素,这个是什么意思?

第二个是程序的一部分

char*t=s
while(*t!=‘\0‘) t++; //(*t!=‘\0‘)什么意思?

int (*ptr)[3]应如下分析
*ptr 表示ptr是一个指针
(*ptr)[] 表示ptr是一个数组指针(指向数组)
(*ptr)[3] 表示ptr是一个数组指针(指向含有3个元素的数组)
int (*ptr)[3] 表示ptr是一个整形数组指针(指向含有3个元素的整形数组)

char *t=s表示t是一个字符指针变量,他指向字符串变量的首地址

第一个不知道prt是什么。。

后面那个*p=s就是让指针指向那个数组的第一个元素。则*(p+i)<=>*p[i]<=>s[i]。

第二部分 \0就是一个字符串的终止符。所有字符串的最后面都有个不会显示出来的\0

int (*ptr)[3]=a//声明一个一维整数指针数组
//注意,数组的类型是指针数组,是一个一维数组
//存放元素类型是整数指针
//有三个元素,ptr[0]==a[0];ptr[1]==a[1];;ptr[2]==a[2];
//二维数组就是数组的数组
int *p=a[0]=a[0]//声明一个一维指针数组,指向
//a[0],a[0]也是一个一维数组
*p=s//s不是第一个元素,它是一个数组的名字,
//代表了一个一维指针常量(int* const)
第二个程序应该是用来判断字符串结尾的,c风格字符串是一个以'\0'为结尾的字符数组

第一句话,定义一个指向一个int[3]数组的指针prt并指向a的第一行
第二句话*p=s让p指向的元素值改成数组s的地址。
第三句话,C++中字符串是以\0结束的,这句话的意思就是让t指针不断后移,直到指向字符串的最后一个字符后面(的结束符\0)