Skip to content

Instantly share code, notes, and snippets.

@suvasish114
Created April 20, 2021 14:07
Show Gist options
  • Save suvasish114/84260600287407b83ff641f3a71af8f5 to your computer and use it in GitHub Desktop.
Save suvasish114/84260600287407b83ff641f3a71af8f5 to your computer and use it in GitHub Desktop.
#include<iostream>
#include<string>
#include<stdlib.h>
using namespace std;
struct Header{
string attribute_name;
struct Header* link;
};
// memory leak occurs
struct Header* getNode(){
struct Header *temp;
temp = (struct Header*) malloc(sizeof(struct Header));
return temp;
}
void createHeader(struct Header *head, string str){
struct Header *temp, *ptr;
temp = getNode();
temp->attribute_name = str;
ptr = head;
if(head == NULL){
head = temp;
ptr = temp;
}
else{
while(ptr->link!=NULL)
ptr = ptr->link;
ptr->link = temp;
}
}
void showHeader(struct Header *head){
struct Header *ptr;
ptr=head;
while(ptr!=NULL){
cout<<ptr->attribute_name<<"\t";
ptr=ptr->link;
}
}
// void setPrimaryKey(struct Header *head, string at_name){
// struct Header *ptr;
// ptr=head;
// while(ptr!=NULL){
// if(ptr->attribute_name==at_name){
// ptr->attribute_name=at_name+"key";
// break;
// }
// ptr = ptr->link;
// }
// cout<<at_name<<" is set as the primary key";
// }
int main(){
struct Header *myheader;
createHeader(myheader, "NAME");
createHeader(myheader, "ROLL");
createHeader(myheader, "MARKS");
showHeader(myheader);
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment