“const char*”类型的值不能用于初始化“char”类型的实体,这句话不明白什么意思
这个程序包括两部分 SeqList.h 和 main.c ,SeqList.h 部分正确,就在 main.c 的 stu[3] 部分出了问题
#include <stdio.h>
#include <stdlib.h>
typedef struct Student
{
char num[7]; //学号
char name[10]; //姓名
char sex[3]; //性别
short age; //年龄
}Student;
typedef Student DataType;
#include "SeqList.h"
void main()
{
int i;
SeqList* myList = NULL;
//DataType* List = (DataType*)malloc(myList->maxSize * sizeof(DataType));
DataType stu[3] = {{2000001,"张 三","男",20},
{2000002,"李 四","男",21},
{2000003,"王 五","女",22}};
myList = Initiate(100); //初始化一个顺序表
for(i = 0; i < 3; i++) //插入数据
{
Insert(stu[i],i,myList);
}
for(i = 0; i < 3; i++)
{
DataType item;
item = GetData(i,myList);
printf(" %c %c %c %d\n",item.num,item.name,item.sex,item.age);
}
printf("\n\n删除数据后:\n\n");
Delete(3,myList);
for(i = 0; i < 3; i++)
{
DataType item;
item = GetData(i,myList);
printf(" %c %c %c %d\n",item.num,item.name,item.sex,item.age);
}
printf("\n");
}这个程序如果把 main.c 中的 DataType 定义为 int 并插入整型数就不会有错了。
这个程序是由http://topic.csdn.net/u/20120420/23/d02fde6e-ffd1-468c-9f0a-62a0c6d8eb49.html这个程序改进的,SeqList.h 部分改对了。
相关推荐
const char*转LPCWSTR 字符串转换
一种windows下const char*转LPCWSTR的方法演示
const用法 const int *a; int * const a;
const char* pCh; // 指向字符串常量的指针; 表示pch是一个指针,指向字符串常量。根据需要还可以指向另一个字符串。 但字符串不能被改变。 char* const pCh; // 指向字符串的常量指针; 表示pch是一个字符串常指针,该指针只能指向该字符串,不可以在让他指向另一字符串。但该字符串的内容可以变化。 const int a; //a是个整型常量 int const a; //同上 const int *a; //a是一个指向整型常量的指针(整型常量不可修改,但指针a可以) int * const a; //a是一个指向整型数的常量指针(整型常量可修改,但指针a不可以) int const *a const; //a是一个指向整型常量的常量指针(两者都不可以修改)
C++类的静态成员初始化详细讲解
通常静态数据成员在类声明中声明,在包含类方法的文件中初始化.初始化时使用作用域操作符来指出静态成员所属的类.但如果静态成员是整型或是枚举型const,则可以在类声明中初始化
(const) char 转CString 详解(字符串类型转换详解,不断补充)
(const) char 转CString 详解(字符串类型转换详解,不断补充)
std::string、char*、const char*转托管byte数组或托管字符串String
std::string、char*、const char*转托管byte数组或托管字符串String


