0 0

关于C++结构体、数组还有指针的问题5

1.char test[20]="xxxxx";编译是不会出错的。
2.struct student
{
int num;
char name[20];
float score[3];
};
void main(int argc, char* argv[])
{
struct student stu;
stu.name="xxxxx";
}
会报:
error C2440: '=' : cannot convert from 'char [6]' to 'char [20]'
        There is no context in which this conversion is possible
这样的错误。
3.改成struct student
{
int num;
char name[6];
float score[3];
};
void main(int argc, char* argv[])
{
struct student stu;
stu.name="xxxxx";
}
则会报:
error C2106: '=' : left operand must be l-value
4.将char name[20];改为char *name;就不会报错了。
请问上面为什么报错?
2012年3月02日 15:30

1个答案 按时间排序 按投票排序

0 0

采纳的答案

1.数组在定义时可以用字符串对其直接初始化,如你程序中:
  char test[20]="xxxxx";
  这是编译不报错的原因。

2.若要对数组进行赋值可用strcpy或者对数组每个元素单独赋值。你程序中:
  stu.name="xxxxx";
  赋值运算符左边stu.name是个地址常量,显然是不能被赋值的,编译肯定是要报错的。

2012年3月07日 17:30

相关推荐

    C#调用C++ Dll关于结构体数组引用的传递及解析使用的展示代码

    ### C#调用C++ DLL:结构体数组引用的传递及解析使用详解 #### 引言 在跨语言编程环境中,经常会遇到不同编程语言之间进行交互的需求。C#与C++之间的互操作就是一个典型场景。当C#需要调用C++开发的动态链接库...

    c++调用C# COM 参数是结构体数组

    ` 将返回的结构体数组转换为 C++ 指针。 在 C++ 中,我们还可以使用结构体数组作为方法的参数。例如,在本例中,我们使用 `int m_Cont = 2; _CAPI_Point3d *rdd1 = new _CAPI_Point3d[m_Cont];` 来创建一个结构体...

    基于C#调用c++Dll结构体数组指针的问题详解

    基于C#调用C++ Dll结构体数组指针的问题详解 C#调用C++ Dll文件是一件很麻烦的事情,首先面临的是数据类型转换的问题。相信经常做C#开发的都和我一样把学校的那点C++基础都忘光了吧(语言特性类)。网上有一大堆得...

    详解C++中的指针结构体数组以及指向结构体变量的指针

    通过这个例子,我们可以看到,指针结构体数组和指向结构体变量的指针是C++中处理复杂数据结构的有效工具。它们允许我们高效地操作和管理大量数据,尤其是在需要动态修改和查询数据时。理解这些概念对于深入学习C++...

    学生成绩管理系统 C语言 C++ 详细注释 可运行 结构体数组 链表 课程设计

    在这个案例中,系统使用了两种不同的方法来实现:结构体数组法和链表法,这两种都是在C语言和C++中处理数据的有效方式。下面将详细讨论这两个方法以及相关的编程知识点。 1. **结构体数组法**: 在`学生成绩管理...

    C#调用C++DLL传递结构体数组的终极解决方案

    尽管做了这些调整,但仍然可能遇到问题,因为C++函数可能期望接收结构体指针或结构体数组指针。因此,我们需要在C#中使用`IntPtr`来模拟指针: ```csharp [DllImport("workStation.dll")] private static extern ...

    gsoap_返回值为结构体数组

    `count`参数用于接收返回的学生数量,`students`是一个指针,指向实际的结构体数组。 为了处理返回的结构体数组,你需要遍历数组并处理每个元素。例如,你可能需要显示每个学生的姓名和年龄,或者将它们存储到...

    使用结构体数组和指针实现的命令行人员信息管理系统.zip

    在这个名为“使用结构体数组和指针实现的命令行人员信息管理系统”的项目中,我们主要探讨的是如何利用C++编程语言来构建一个简单的信息管理系统。这个系统是在命令行环境下运行的,通过结构体数组和指针来存储和...

    C#向C++封送结构体数组[归类].pdf

    这里讨论的问题是如何在C#中封送结构体数组以调用C++的非托管API。C++的DLL导出了一个名为`GetClass`的函数,接收一个`Class`结构体数组作为参数,而`Class`结构体内部包含了一个`Student`结构体数组。 首先,我们...

    结构体数组详细介绍.zip

    结构体数组是C/C++等编程语言中一种重要的数据结构,它允许我们将多个具有不同数据类型的数据组合成一个单一的实体,然后以数组的形式存储这些实体。这种数据结构在处理多个相似但不完全相同的数据时非常有用,比如...

    结构体数组.zip

    在C/C++等编程语言中,结构体数组是组织和管理数据的有效方式。 结构体的基本概念: 1. 结构体是一种自定义的数据类型,它由一个或多个不同类型的成员组成。例如,我们可以创建一个名为`Person`的结构体,包含`姓名...

    C#中byte数组和c++结构体的转换

    在写C#TCP通信程序时,发送数据时,只能发送byte数组,处理起来比较麻烦不说,如果是和c++等写的程序通信的话,很多的都是传送结构体,在VC6.0中可以很方便的把一个char[]数组转换为一个结构体,而在C#却不能直接把...

    实验1菜单及结构体数组C语言实现_C++_数据结构

    同时,理解和使用指针来操作结构体数组也是关键,因为结构体在C和C++中是按值传递的,直接操作传入的结构体会产生副本,而不是原地修改。 总之,这个实验旨在让你掌握C/C++中的基本用户交互和数据组织技巧,这对于...

    最新c++-用结构体数组来创建学生成绩系统.docx

    C++结构体数组实现学生成绩管理系统 本文讲述了使用C++语言和结构体数组实现的学生成绩管理系统。该系统可以实现学生成绩的录入、显示、排序和统计等功能。 知识点1:C++结构体 在C++中,结构体是一种自定义的...

    C++语言结构体介绍和结构体数组使用示例

    在C++编程语言中,结构体(struct)是一种非常重要的数据结构,它允许开发者...通过结构体数组,我们可以有效地存储和处理大量相关数据,如上述示例中的学生信息。了解和熟练运用结构体是提升C++编程技能的关键步骤。

Global site tag (gtag.js) - Google Analytics