01. februar 2005 - 16:08 
												Der er
									9  kommentarer													og 					1  løsning									 
									
		 
		
			
Structs og arrays i C 
			Jeg sidder og kæmper med en struct, der skal indeholde et array. Det er jo nemt nok... struct bus {  int numberList[];  ... } men er det lovligt at benytte en tom angivelse af størrelsen på arrayet? og hvordan sætter jeg størrelsen efterfølgende? //Jesper
					
		
	 
                            
Annonceindlæg fra Computerworld 
 
 
	
		
								
					
				01. februar 2005 - 16:11  
				#1 
			 				 
						
		 
		
			Nej. Ikke i standard C. Brug: struct bus { int *numberList; ... } og lav en: minbus.numberList = (int *)malloc(117*sizeof(int)); senere
		
		
	 
	
		
								
					
				01. februar 2005 - 16:28  
				#2 
						
		 
		
			hvorfor lige 117? og er det samme procedure, hvis jeg vil lave et array af strenge? altså struct bus { int **numberList; ... } minbus.numberList = (char *)malloc(117*sizeof(char)); //Jesper
		
		
	 
	
		
								
					
				01. februar 2005 - 16:34  
				#3 
			 				 
						
		 
		
			Det var bare et tal jeg valgte. Du vælger det du skal bruge. Og du kan godt bruge en variabel.
		
		
	 
	
		
								
					
				01. februar 2005 - 16:35  
				#4 
			 				 
						
		 
		
			Du kan lave en char* og malloc'e sådan en eller du kan lave en char** og først malloc'e nogle char* og så malloc'e dem.
		
		
	 
	
		
								
					
				01. februar 2005 - 18:07  
				#5 
						
		 
		
			Smid et svar :P Tak for hjælpen! //Jesper
		
		
	 
	
	
	
		
								
					
				01. februar 2005 - 18:18  
				#6 
			 				 
						
		 
		
			kommer her
		
		
	 
	
		
								
					
				02. februar 2005 - 09:01  
				#7 
						
		 
		
			Weird... Ligegyldigt hvad jeg indsætter i stedet for 117, så får jeg kun 4 pladser i integer-arrayet! //Jesper
		
		
	 
	
		
								
					
				02. februar 2005 - 09:06  
				#8 
			 				 
						
		 
		
			Øh. Hvordan tester du det ? sizeof(minbus.numberList) returnerer altid 4 (på 32 bit systemer), men det er fordi sizeof returnerer størrelsen af pointeren ikke størrelsen af det som den peger på.
		
		
	 
	
		
								
					
				02. februar 2005 - 09:19  
				#9 
						
		 
		
			Tak for hjælpen! Fandt selv ud af det har blot tilføjet en variabel, der hedder size og så lavet en funktion, der klarer initialiseringen. - hvordan er du blevet så klog Arne_v??? - jeg bliver imponeret hver gang! //Jesper
		
		
	 
	
		
								
					
				02. februar 2005 - 09:31  
				#10 
			 				 
						
		 
		
			Jeg lærte at programmere i 1983 ! (Fortran iøvrigt)
		
		
	 
	
		
	
		
		
		
			
			Kurser inden for grundlæggende programmering