当前位置:首页 » 编程语言 » c语言数组赋值给指针

c语言数组赋值给指针

发布时间: 2022-05-14 09:42:23

A. c语言指针赋值的问题(关于数组的赋值)

指针只是申明了而没有初始化。
p是指针,*p是取p指向的地址的内容。
你可以这样写:
char
c
=
0;
char
*p
=
&c;
//初始化
*p
=
s[0];
也可以这样写:
char
*p
=
&s[0];//初始化
或者
char
*p
=
new
char(s[0]);//分配内存,初始化
delete
p;
也可以这样写:
char
s[0];
char
*p
=
s;//p指向s数组

B. c语言 指针如何赋值

指针的赋值
int
*p;
int
a;
int
b[1];
p
=
&a;
p
=
b;
指针的赋值,“=”的左操作数可以是*p,也可以是p。
当“=”的左操作数是*p时,改变的是p所指向的地址存放的数据;
当“=”的左操作数是p时,改变的是p所指向的地址。
数组的变量名b表示该数组的首地址,因此p=b;也是正确的.
同类型的指针赋值:
int
val1
=
18,val2
=
19;
int
*p1,*p2;
p1
=
&val1;
p2
=
&val2;
p1
=
p2;
//注意啦,p1指向了val2,而没有指向val1

C. C语言二维数组的地址为什么 不可以赋值给指针变量

二维数组的数组名和一维数组的数组名不一样。

一维数组名a表示其首地址,指针类型是(int *)。
二维数组名d表示其行指针,指针类型是(int (*)[7])。
所以你要定义指针去用二维数组名赋值,需要定义指针int (*k)[7];不是int *k。
或者你把二维数组当成一维数组来看(二维内部地址是连续的,和一维一样),这样int *k;k=&d[0][0];之后通过k++遍历二维数组所有值。

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

字符指针数组的赋值和普通数组的赋值是一样的,只不过字符指针数组里的元素是指针。

以下是字符指针数组赋值的示例:

char*pChar[5];
charstr1[]="First";
charstr2[]="Second";
charstr3[]="Third";
charstr4[]="Fourth";
charstr5[]="Fifth";

pChar[0]=str1;
pChar[1]=str2;
pChar[2]=str3;
pChar[3]=str4;
pChar[4]=str5;

for(inti=0;i<5;i++)
{
printf("pChar[%d]=%s ",i,pChar[i]);
}

E. C语言可以把指针和数组名之间相互赋值吗

不可以,C/C++中 数组名虽然形同一个指针 但是是常值 是不可以进行赋值操作的,同理 也不可以进行++ -- += -= 操作,希望可以帮助到你

F. 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语法。

G. C语言可以用指针数组赋值给数组指针吗

我这里有C++环境,帮你试了一下不行(当然,也有变相的方法,就是将数组指针的首元素地址给指针数组中的一个指针),估计C差不多。


情况参考图:


二者的类型系统认为是不相等的。

H. C语言:如何将字符串数组赋值给一个字符串指针或数组

直接在一个字符串里面按位赋值就可以了。像二楼说的一样。
因为你原字符串肯定是大于等于新字符串的,所以定一个变量检查原字符串的位置,定另一个变量检查新字符串的位置。那么第一个变量肯定是大于等于第二个变量的。这样可以把值从第一个变量的地方赋值到第二个变量的位置即可。

I. C语言如何给指针数组动态赋值

可以试试再创建一个char类型的二维数组,如char
temp[16][16],然后分别把temp[0
...
15]的每一个元素temp[...][0...14]赋上'a'
+
随机数值(0
~
25的)。再把temp[...][15]赋值为'\0'。最后把str[0...15]分别指向temp[0...15]

J. c语言求问数组名可以赋值给指针变量吗 如char ch[]="xbxbbxbx",*p; pc=c

可以的,数组名就是数组第一个元素的指针,所以可以赋值给相同类型的指针变量,此时,数组名和这个指针都指向这个数组的开头。

热点内容
歪歪脚本 发布:2025-05-12 06:07:37 浏览:670
linux多ip 发布:2025-05-12 05:58:31 浏览:90
手机无线路由器怎么设置密码 发布:2025-05-12 05:18:28 浏览:816
渝人解压密码 发布:2025-05-12 05:18:12 浏览:769
备份网站数据库备份 发布:2025-05-12 05:04:35 浏览:53
转移的存储卡 发布:2025-05-12 04:51:18 浏览:467
c语言大数相加 发布:2025-05-12 04:51:13 浏览:589
安卓内存大小有什么影响 发布:2025-05-12 04:41:36 浏览:51
以下c语言常量错误的是 发布:2025-05-12 04:40:39 浏览:808
怎么降低qq版本安卓80 发布:2025-05-12 04:40:39 浏览:191