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

dfnjsfkhak 11 0

大家好,今天小编关注到一个比较意思的话题,就是关于c语言数组赋值指针问题,于是小编就整理了4个相关介绍c语言数组赋值给指针的解答,让我们一起看看吧。

  1. 怎么把vec容器中的值赋值给指针?
  2. c语言数组能不能直接赋值?
  3. c语言中字符串怎么赋值?
  4. Delphi中如何将数组转换为指针?

怎么把vec容器中的值赋值给指针?

首先字符数组是不可以整体赋值的,但是指向字符数组的指针可以。

其次字符数组在初始化时候是可以整体赋值的,例test,但是构造结构类型的时候却不可以这样写,例addr1。

c语言数组赋值给指针,c语言数组赋值给数组-第1张图片-芜湖力博教育咨询公司
图片来源网络,侵删)

最后字符数组如果要初始化必须要逐个赋值,例addr2。

c语言数组能不能直接赋值?

不能!C语言的数组是一段连续空间,里面存储相同数据类型的数组元素。这里的数组名和数组元素是两个不同的概念,我们当然可以使用数组下标,如a[1]为对应的元素赋值,但数组名称a本身是不可变的,它不能直接赋值为一个地址。如果您想要这么做,C语言中需要定义一个指针,而不是一个普通的数组。希望以上回答可以帮助到您。

c语言中字符串怎么赋值?

C语言中,字符串的赋值主要有两种方法,第一种是通过指针的方式直接赋值,第二种是通过数组直接赋值。

c语言数组赋值给指针,c语言数组赋值给数组-第2张图片-芜湖力博教育咨询公司
(图片来源网络,侵删)

1、指针式赋值。

过程序的运行情况,可以知道:char *p = "hello";这种字符串的赋值方式是完全没有问题的。要理解这种赋值方式,首先得理解双引号(特别注意:这个是双引号,不要赋值的时候给弄了个单引号)在这个语句中做了什么工作。双引号主要做了3个工作,分别是:

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

c语言数组赋值给指针,c语言数组赋值给数组-第3张图片-芜湖力博教育咨询公司
(图片来源网络,侵删)

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

(3)返回地址。

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

2、通过字符数组直接把字符串赋值。

Delphi中如何将数组转换为指针?

关于这个问题,在Delphi中,数组名本身就是指向数组第一个元素的指针。因此,如果要将数组转换为指针,只需要使用数组名即可。

例如,***设有一个整型数组arr,可以将其转换为指针p,如下所示:

var

arr: array[0..9] of integer;

p: PInteger;

begin

p := @arr[0]; // 将数组转换为指针

end;

关于DELPHI数组,指针,字符串转换的例子:

var

aa: array [0..5] of Char;

bb:Pointer;

cc:string;

dd:PChar;

procedure TForm1.Button1Click(Sender: TObject);

begin

到此,以上就是小编对于c语言数组赋值给指针的问题就介绍到这了,希望介绍关于c语言数组赋值给指针的4点解答对大家有用

标签: 数组 赋值 指针