c语言函数指针数组赋值 c语言指针给数组赋值

C语言 如何给字符指针数组赋值

你那样只是定义了5个指针,并没有给每个指针分配相应的内存空间,当然会出错

创新互联长期为上1000家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为公安企业提供专业的成都网站制作、成都做网站,公安网站改版等技术服务。拥有十多年丰富建站经验和众多成功案例,为您定制开发。

gets函数的参数是一个字符指针,应该用gets(p[i]);

char

*p[5];

char

*d;

char

p1[5][20];

int

i,j;

printf("输入5个城市\n");

for(i=0;i5;i++)

{

p[i]

=

p1[i];

gets(p[i]);

}

.......

c语言指针向数组赋值问题

你这种错误就是不能从char* 赋值给char[64],这是很基础的指针问题,数组名代表数组的首地址是不允许修改的,指针可以修改,字符串数组复制可以一个字符一个字符赋值,也可以用memcpy()函数赋值,当然如果传入的是字符串的话还可以使用strcpy()函数

c语言中将一个数组的值赋给另外一个数组,好像要用指针来赋值

错误的,不能用赋值语句将一个字符串常量直接给一个字符数组赋值。

chars[20];

charss[]="hello";

s=ss;错误原因是:是您不能使用赋值语句将一个字符数组直接赋值给一个字符串数组,也就是说,必须使用strcpy()函数来实现一个字符串的副本(在c语言中,但是在c++的string类中,上面的赋值是正确的)。

因为赋值字符“=”右边的表达式也可以是赋值表达式,下面的形式变量是=(变量=表达式);这是真的,所以它是嵌套的。展开后的一般形式为:variable=variable=…=表达式;例如:a=b=c=d=e=5;根据赋值运算符的正确啮合,其有效等价为:e=5;D=e;C=d.B=C.A=B;

Chara[]="toyou";正确的理由:因为当你声明一个数组变量时,你只是为它腾出空间并初始化它,这是c语法。

扩展资料:

C语言中字符串赋值的理解

一、指针式赋值

上面的例子很明显,也很容易理解。但是下面的方法有点难以理解。

通过程序的运行,我们可以知道:char*p="hello";这个字符串赋值非常好。为了理解这个赋值,我们首先需要理解双引号在这个语句中的作用(注意:这是双引号,不要使用单引号)。双引号有三个主要作用:

(1)申请了空间(在常量区),存放了字符串。

(2)在字符串尾加上了“\0”。

(3)返回地址。

这里所返回的地址就赋值给了char*类型的指针变量p。

二、通过字符数组直接把字符串赋值。程序如下:

三、需要注意的一些问题

直接把字符串赋值给数组名(也就是数组首元素的首地址)是不行的。


本文标题:c语言函数指针数组赋值 c语言指针给数组赋值
文章URL:http://azwzsj.com/article/ddsipes.html