数组指针的赋值(怎么把数组赋值给指针变量)

本文目录
怎么把数组赋值给指针变量
1. 怎么将一组数组赋值给指针,比如, a={2,4,5,6,7,8,9,10,11} *p(3)
指针变量可以指向一维数组中的元素,也可以指向多维数组中的元素。
但在概念和使用上,多维数组的指针比一维数组的指针要复杂。1、二维数组的地址 二维数组可以理解为一个广义的一维数组,一个以一维数组为元素的一维数组。
例如定义一个数组:int a为列指针,对它们的增减1将移动1列元素。
图 7 8 二维数组中元素地址示意图 对于二维数组a来说,还可以把它看成是由a数组的首地址(第1行元素的首地址),那么a+i指向第i行的首地址,所以a被看成是一个行指针,指针a的基类型是一个由4个int型数据构成的数组。
由于a指向a,列指针*运算得到二维数组的元素值。
而a+i*N+j)等形式。
【例7- 8】通过数组元素的地址来引用二维数组元素。#include #include int main() { int i,j; int a={1,2,3,4,5,6,7,8,9,10,11,12}; cout《《"输出二维数组a:"《
在指向行的指针前面加一个*运算,就转换为指向列的指针;反之,在指向列的指针前面加一个&运算,就成为指向行的指针。(2) *(a+i)和a元素。
2、二维数组的指针 同样还可以用指针变量来访问二维数组元素。由于二维数组的地址有行地址和列地址两种,所以和地址相对应的指针也有两种,分别为行指针和列指针。
(1)二维数组的列指针 列指针是指向具体元素的指针,又称一级指针,其定义和一般变量指针的定义是一样的。在例7.8程序中增加一行列指针定义语句:int *aPtr=a 将例7.8程序中输出数组元素的语句cout《
直接移动指针:cout《
在定义时,必须明确指出这个指针指向的一维数组有多少个元素。用行指针来处理二维数组,则行指针所指数组的长度等于二维数组的列数。
行指针定义的一般形式如下: (* ) 其中 即表示该指针指向的数组的长度。【例7- 9】通过行指针来引用二维数组元素。
#include int main() { int i,j; int a=7。
2. 怎么向指针数组中赋值
不可以
原因很简单
"one","two"是存在静态存储区的,这个地址中的值不能被修改。
*(p+1)=getchar();
运行这句,程序应该崩溃
也就是说这种声明:char *p={"one","two"};
是不能修改其中指针指向地址中的值的,只能读取
而
char p={"one","two"};
这种声明,变量则是存在栈上的,这时就可以
*(p+1)=getchar();
来修改
3. 数组可以赋值给指针吗
可以。
指针作为实体,是一个用来保存一个内存地址的计算机语言中的变量。 数组,是有序的元素序列。
若将有限个类型相同的变量的 *** 命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。
数组名可以代表数组的首地址,num就是num数组的首地址,pn声明为一个指针变量,它的值直接指向(points to)存在电脑存储器中另一个地方的值,也就是个地址。因此num的值是可以赋值给pn的。
扩展资料: 数组使用规则 1.数组的类型实际上是指数组元素的取值类型。对于同一个数组,其所有元素的数据类型都是相同的。
2.数组名的书写规则应符合标识符的书写规定。 3.数组名不能与其它变量名相同。
4、只能给元素逐个赋值,不能给数组整体赋值。例如给十个元素全部赋1值,只能写为:static int a=1;(请注意:在C、C#语言中是这样,但并非在所有涉及数组的地方都这样,数据库是从1开始。)
参考资料: 百度百科-数组 百度百科-指针。
4. 数组可以赋值给指针吗
可以。
指针作为实体,是一个用来保存一个内存地址的计算机语言中的变量。
数组,是有序的元素序列。若将有限个类型相同的变量的 *** 命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。
数组名可以代表数组的首地址,num就是num数组的首地址,pn声明为一个指针变量,它的值直接指向(points to)存在电脑存储器中另一个地方的值,也就是个地址。因此num的值是可以赋值给pn的。
扩展资料:
数组使用规则
1.数组的类型实际上是指数组元素的取值类型。对于同一个数组,其所有元素的数据类型都是相同的。
2.数组名的书写规则应符合标识符的书写规定。
3.数组名不能与其它变量名相同。
4、只能给元素逐个赋值,不能给数组整体赋值。例如给十个元素全部赋1值,只能写为:static int a=1;(请注意:在C、C#语言中是这样,但并非在所有涉及数组的地方都这样,数据库是从1开始。)
数组可以赋值给指针吗(求高手) 例如: int num[10],*pn; pn=num;
可以。
指针作为实体,是一个用来保存一个内存地址的计算机语言中的变量。
数组,是有序的元素序列。若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。
数组名可以代表数组的首地址,num就是num数组的首地址,pn声明为一个指针变量,它的值直接指向(points to)存在电脑存储器中另一个地方的值,也就是个地址。因此num的值是可以赋值给pn的。
扩展资料:
数组使用规则
1.数组的类型实际上是指数组元素的取值类型。对于同一个数组,其所有元素的数据类型都是相同的。
2.数组名的书写规则应符合标识符的书写规定。
3.数组名不能与其它变量名相同。
4、只能给元素逐个赋值,不能给数组整体赋值。例如给十个元素全部赋1值,只能写为:static int a=1;(请注意:在C、C#语言中是这样,但并非在所有涉及数组的地方都这样,数据库是从1开始。)
参考资料:
百度百科-数组
百度百科-指针
怎么把数组赋值给指针
1. 怎么把数组赋值
怎么把数组赋值 1. 怎么把一个数组赋值给另一个数组
有两种方法可以实现。
为方便说明,定义两个整型数组a,b,并实现将a中的值赋值到b中。
int a;
1、通过数组遍历,逐个赋值。
定义循环变量int i;
for(i = 0; i 《 4; i ++)
b;
该程序功能为遍历数组a,逐个赋值到数组b对应元素中。
2、借助内存复制函数memcpy,整体赋值。
void *memcpy(void *dst, void *src, size_t size);
这个函数的功能为将src上,大小为size字节的数据赋值到dst上。
调用该函数时需要引用头文件cstring,即
#include 《cstring》
赋值数组的代码为
memcpy(b,a,sizeof(a));
2. 新手求教,怎么给数组赋值
给字符数组赋值分两种情况,单字符赋值和字符串赋值。
单字符赋值,可通过数组下标方式或指针方式,引用数组元素,进行赋值,如:
char a;
char ch=’a’;
for( i=0;i《10;i++ )
a=ch+i ; 可通过数组下标引用数组元素,完成赋值
char *p;
for( p=a; p《a+10; p++ )
*p=ch++; 通过指针对数组相应元素赋值
字符串赋值,可使用string.h头文件中的字符串操作函数进行赋值,如:
char a;
strcpy( a, "abcdefgh");
sprintf(a, "%s", "abcdefgh");
注意:数组在定义时,可以同时进行初始化,但定义完成后,就不能按初始化的形式对其赋值了,如:
char a="abcdefgh"; 这样可以
a="abcdefgh"; 这样是错误的!a是数组名,是一个静态数据:数组首地址值,可以看作是个常数,不能再被改变。
3. c语言中如何给数组定义并赋初值
字符串数组定义赋值:
char c={’c’, ’ h ’, ’i’, ’n’, ’a’ , ’\0’ }
整数数组定义赋值:
int a={1,2,3,4,5};
int a;
for(int i=0;i《5;i++)
a=i;
定义float数组并赋值:
float b={1.1,2.2,3.3,4.4,5.5,6.6,7.7,8.8,9.9,0.0}
扩展资料:
数组:是有序的元素序列。 若将有限个类型相同的变量的 *** 命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。
用于区分数组的各个元素的数字编号称为下标。数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按无序的形式组织起来的一种形式。 这些无序排列的同类数据元素的 *** 称为数组。
声明固定大小的数组:
有三种方法声明固定大小的数组,用哪一种方法取决于数组应有的有效范围:
1,建立公用数组,在模块的声明段用 Public语句声明数组。
2,建立模块级数组,在模块的声明段用 Private语句声明数组。
3,建立局部数组,在过程中用 Private语句声明数组。
参考资料来源:百度百科-数组
4. 怎么给数组重新赋值
#include 《stdio.h》
void main()
{
int table={1,2,3,4,5},i;
printf("输出原数组:\n");
for(i=0;i《8;i++)
printf("%d ",table);
printf("请对数组重新赋值:\n");
for(i=0;i《8;i++)
{printf("请输入第%d个元素:\n",i+1);
scanf("%d",&table);
}
printf("输出重新赋值数组:\n");
for(i=0;i《8;i++)
printf("%d ",table);
}
楼主你定义本身就是有一点问题,如果是unsigned char table={’1’,’2’,’3’,’4’,’5’,’6’,’7’,’8’}
要不就是
char table="1234567";
5. 把数组赋值给对象,怎么写
对象数组就是数组里的每个对象都是类的对象,赋值时先定义对象,然后将对象直接赋给数组就行了。
比如:
#include《iostream》
using namespace std;
class A
{
int x;
int y;
}
void main()
{
A a1,a2;
A array;
array=a1;
array=a2;
}
6. 怎么把一个数组赋值给另一个数组
数组赋值的规律是:
1.不能给固定数组赋值;
如:
dim a(5)As string
dim b(5)As string
a(0) = 0
a(1) = 1
a(2) = 2
a(3) = 3
a(4) = 4
a(5) = 5
b()=a()’报错
2.可以给动态数组赋值;你的例子就是这种情况;
3.可以把数组赋值给一个变体,得到一个包含数组的变体.
如:
dim a(5)As string
dim b ’b为变体
a(0) = 0
a(1) = 1
a(2) = 2
a(3) = 3
a(4) = 4
a(5) = 5
b=a()
Print b(0)
Print b(1)
Print b(2)
Print b(3)
Print b(4)
Print b(5)
数组和指针的赋值
A正确
char *s表示s是一个指针,s=“olympic”表示s指向该字符串的首地址。
B错误在于s是一个数组只能在初始化时被定义,之后就不能作为左值被整体赋值,但是可以对他的单个元素进行操作,而且数组s的空间太小也容不下这个字符串,因为"Olympic"实际上是"Olympic’\0’",所以要定义八个就字节的空间。
正确定义:char *s="Olympic";
C没有大括号。
D的错误如B。

更多文章:
phpcms下载站(有没有phpcms v9的火车头采集入口)
2026年11月3日 15:10
十字路口红绿灯plc程序梯形图(简易欧姆龙PLC十字路口红绿灯梯形图)
2026年11月3日 14:50
js压缩图片最低能压缩多百分之多少?把vars.js压缩为vars.rar压缩文件怎么操作
2026年11月3日 11:10
lseek和fseek(read pread write pwrite fseek lseek是同一类函数吗)
2026年11月3日 08:30
字体大小在哪里调整(电脑字体大小在哪里调调电脑字体大小的方法)
2026年11月3日 04:40
网页页面设计的技巧有哪些?急求,jsp采用框架技术设计页面,如何写代码才能实现点击左侧框架内的链接,右侧框架内显示相应网页呢
2026年11月3日 03:00
selection是什么品牌(selection unique是什么葡萄酒)
2026年11月3日 01:50





