【发布时间】:2014-04-18 08:35:06
【问题描述】:
我一直在寻找一个答案,虽然有类似的问题我仍然无法改进我的代码,所以它可以工作。
我有一个简单的 lifo 结构,我正在尝试添加一个元素并打印该结构。它什么也不打印,当我调试时,我有这个<bad ptr> in char * nameOfVariable。
如果有任何帮助,我将不胜感激!这是我的源代码:
#include<stdio.h>
struct Variable
{
double value;
char *name;
struct Variable *next;
} *variables[80000];
void pop(Variable * head);
void push(Variable * head, char *name, double value);
void show(Variable * head);
int main(){
for(int i = 0; i <80000; i++){
variables[i] = nullptr;
}
char *nameOfVariable = "aaab";
double value = 5;
push(variables[0], nameOfVariable, value );
show(variables[0]);
system("pause");
return 0;
}
void push(Variable * head, char *name, double value)
{
Variable * p ;
p = head;
head = new Variable;
head -> name = name;
head -> value = value;
head -> next = p;
}
void pop(Variable * head)
{
Variable *p;
if (head != NULL)
{
p = head;
head = head -> next;
free(p);
}
}
void show(Variable * head)
{
Variable *p;
p = head;
while (p!=NULL){
printf("%c %f ", p->name, p->value);
p=p->next;
}
printf("\n");
}
PS - 我不能使用 STL,所以字符串不是一个选项 :)
【问题讨论】:
标签: c++