代码按预期工作,但它永远不会释放分配的内存malloc().
我试图在任何可以的地方释放记忆,但无论我在哪里,它都会破坏程序.具体来说,我得到了"双重免费或损坏错误".这更像是关于什么free()和malloc()实际做的问题?免费的所有问题主要在于:
int main(int argc, char *argv[]){
if(argc!=2){
exit(1);
}
printf("CSA WC version 1.0\n\n");
int length = strlen(argv[argc-1]);
char file_to_open[length];
strcpy(file_to_open, argv[argc-1]);
//printf("filename:%s\n",file_to_open);
//create counters for output
int count_number_of_lines = 0;
int count_number_of_words = 0;
int count_number_of_characters = 0;
//create int size of default array size
int current_array_size = pre_read(file_to_open);
//printf("number of lines: %i\n",current_array_size);
//create string array of default size
char *strings_array[current_array_size];
//create a pointer to catch incoming strings
char *incoming_string=NULL;
int done=0;
while(done==0){ …Run Code Online (Sandbox Code Playgroud) 我已经阅读了大约十亿次,我无法弄清楚...我在工作台中生成了它,所以它应该可以工作,但它会创建除了SECTIONS之外的所有表...如果我删除之间的关系它会创建它部分和讲师,但我需要这种关系工作....任何帮助将不胜感激!代码如下...希望有人可以帮助我!谢谢!
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL';
CREATE SCHEMA IF NOT EXISTS `385_s11_turpinvp` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci ;
USE `385_s11_turpinvp` ;
-- -----------------------------------------------------
-- Table `385_s11_turpinvp`.`TUTORS`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `385_s11_turpinvp`.`TUTORS` (
`Name` VARCHAR(45) NOT NULL ,
`Banner_Id` CHAR(8) NOT NULL ,
`Email` VARCHAR(45) NOT NULL ,
`Ssn` CHAR(9) NOT NULL ,
`Address` VARCHAR(45) NOT NULL ,
`Phone` INT NOT NULL ,
PRIMARY KEY (`Banner_Id`) )
ENGINE = InnoDB;
CREATE UNIQUE INDEX …Run Code Online (Sandbox Code Playgroud)