Code Bye

关于字符串数组的问题,求帮助

	for (int i =0; i <count-2; i++)
	{
		fscanf(fp,"%d %c %f %c %f %c %s",&lithdata[i].num,&str,&lithdata[i].stdep,&str1,&lithdata[i].enddep,&str2,&lithdata[i].sand);
		sta[i] = lithdata[i].stdep;
		end[i] = lithdata[i].enddep;
	}

lithdata[i].sand是一个存文字的数组,本人想定义一个字符串数组。把lithdata[i].sand里的文字存放到这个字符串数组里,然后可以调用每个字符串。
char *p;
p[i]=ithdata[i].sand;
这样定义不对啊,该怎么定义?

解决方案

10

lithdata[i].sand中sand本身也是一个数组?假如是的话,那么p应该定义为二重指针,这样p[i]才是一个指针,才能将sand直接赋值给p[i]

30

引用:
Quote: 引用:
Quote: 引用:
Quote: 引用:

lithdata[i].sand中sand本身也是一个数组?假如是的话,那么p应该定义为二重指针,这样p[i]才是一个指针,才能将sand直接赋值给p[i]

sand是这样的char sand【256】,是本人在结构体里面定义的。
那应该怎么定义呢?二重指针是 char**p;p[i] = lithdata[i].sand;这样吗?

char**p后要为每个指针分配内存,然后再让指针指向数据

能写下代码给本人参考下吗?新手不会啊

p=(char**)malloc(n*sizeof(char*));  //n是你指针的数量


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明关于字符串数组的问题,求帮助