字符串数组概念

来源:百度知道 编辑:UC知道 时间:2024/06/15 06:34:33
char ch[]="abc",x[3][4];
int i;
for(i=0;i<3;i++)strcpy(x[i],ch);
for(i=0;i<3;i++)cout<<&x[i][i]<<" ";
结果是 abc bc c为什么啊?
&x[i][i]不是取某个元素地址的意思吗?
怎么输出元素了?这个和数字的数组有区别啊?

字符串的输出需要给出字符串首地址。

你看看下面的例子应该会明白一些:
#include<stdio.h>
#include<stdlib.h>

int main(void)
{
char *p=NULL;
int *x=NULL;
p=(char*)malloc(sizeof(char)*10);
scanf("%s", p);

x=(int*)malloc(sizeof(int));
*x=1122;

printf("%s\n%d\n", p, p);
printf("%d\n%d\n", *x, x);

free(p);
p=NULL;
free(x);
x=NULL;
return 0;
}