typedef help


 
Thread Tools Search this Thread
Top Forums Programming typedef help
# 1  
Old 03-31-2012
typedef help

Hi!
This is part of my my code :
Code:
typedef struct{
	int x;			
	char na[20];	
	char sur[20]; 
} Stu;

typedef struct{	
	Stu *arr; 
	int size;			
	int sort;
} Stus;

I want to ask how can i free() the matrix arr.
I tried free(arr), free(Stus.arr) and i get errors with gcc.
My problem, in general, is how can i refer to arr in my program. I mean if using
Code:
Stus.arr

gives me error.

Last edited by giampoul; 03-31-2012 at 06:27 PM..
# 2  
Old 03-31-2012
Quote:
Originally Posted by giampoul
Hi!
This is part of my my code :
Code:
typedef struct{
	int x;			
	char na[20];	
	char sur[20]; 
} Stu;

typedef struct{	
	Stu *arr; 
	int size;			
	int sort;
} Stus;

I want to ask how can i free() the matrix arr.
I tried free(arr), free(Stus.arr) and i get errors with gcc.
My problem, in general, is how can i refer to arr in my program. I mean if using
Code:
Stus.arr

gives me error.
You cant do free(Stus.arr) because Stus is now a type...first you have to create an object of type Stus...
Code:
Stus x;

Now you can refer to to its member arr using this...
Code:
free(x.arr)

This User Gave Thanks to shamrock For This Post:
# 3  
Old 03-31-2012
Yes, that's solved my provlem!
And if i want to refer to an item from Stu arr ??
My new global variables, after your help, are:
Code:
//these are global
typedef struct{
	int x;			
	char na[20];	
	char sur[20]; 
} Stu;

typedef struct{	
	Stu *arr; 
	int size;			
	int sort;
} Stus;

Stus foit;

I tried for example:
Code:
foit.arr.sur

but that is wrong.

---------- Post updated at 05:40 PM ---------- Previous update was at 04:58 PM ----------

--UPDATE--
Sorry, my mistake.
i forget using arr as an array.
Now i use something like :
Code:
//these are global
typedef struct{
	int x;			
	char na[20];	
	char sur[20]; 
} Stu;

typedef struct{	
	Stu *arr; 
	int size;			
	int sort;
} Stus;

Stus foit

...
//these are into main
...
for( i=0;i<y;i++ )
{
	scanf( "%d", &foit.arr[i].x);
	scanf( "%s", foit.arr[i].na);	
	scanf( "%s", foit.arr[i].sur);
}
...

and it works perfectly for the moment. But can anyone explains me scanf() difference between integer and char ? If i put & in front of the char variable i get errors.
# 4  
Old 03-31-2012
na and sur are not type char - they're char pointers to 20 bytes of memory.
This User Gave Thanks to CarloM For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

7 More Discussions You Might Find Interesting

1. Programming

Help me to understand strange 'typedef ... ' in some source...

Working on some source I've found some strange declaration in included header file. I am looking for someone's help to understand me that syntax's, as it is fine (it is compiled without any complain,) but for me it seems out of any sense! Acctually, it warning by CC compiler: " Warning: Implicit... (1 Reply)
Discussion started by: alex_5161
1 Replies

2. Programming

Typedef does not work to name a type

Hello, This is related to the closed post in the forum for the installation of the same software called arachne, but with different error message: In file included from ueberal/MiniSuperizer.cc:5:0: ./random/GnuRandom.h:54:5: error: ‘_G_uint32_t’ does not name a type _G_uint32_t u; ^... (11 Replies)
Discussion started by: yifangt
11 Replies

3. Programming

Event driven programming / epoll / typedef union / session data array

Sorry for the “word salad” subject, but I wanted to cast a wide net for help. I've created an IP (Internet Protocol) server which serves HTTP, SMTP, and FTP requests. As you probably know, they all require creating a socket, listening on it, accepting connections, and then having a short... (3 Replies)
Discussion started by: John S.
3 Replies

4. Programming

Compilation problem with typedef

I am getting confused compiling a program that gives me the following error ../../../tomso/algeb/vector.hpp:19:9: error: ‘Vector' does not name a type typedef Vector<float> Vecflt; (1 Reply)
Discussion started by: kristinu
1 Replies

5. Programming

typedef struct forward declaration

I've google a bit about this and couldn't find an answer. Actually I read that it can't be done. Basically I've defined the following structure and typedef it as follows. stuct Name { }; typdef struct Name Name. and right after it, defined some API that use it. void blabla(Name*... (6 Replies)
Discussion started by: emitrax
6 Replies

6. Programming

How to typedef

I want to declare char ch as ch_9 with the help of the typedef statement. Thanks (1 Reply)
Discussion started by: krishna_sicsr
1 Replies

7. Solaris

Conflicting 'typedef' error - Which gcc switch to use?

I am using gcc3.3.5 on solaris2.7. Its a 64 bit compilation I am compiling a file 'plugin.cpp'. It includes mach.h and the complation gives the following error. ----------------------------------------------------------------- mach.h error: conflicting types for `typedef vx_u32_t... (0 Replies)
Discussion started by: amitc
0 Replies
Login or Register to Ask a Question