wordpress-add code to function.php

i want to create my first theme. i added my codes in header.php and function.php but my theme doesn't know i added function.php to my theme at all! here the codes in function.php:

<?php
    DEFINE("THEME_LOC",get_template_directory_uri() );
    remove_action('wp_head','wp_generator');
    function enq_style(){
        wp_register_style('style',THEME_LOC.'/style.css',array(),'1','all',false);
        wp_enqueue_style('style');
    }
    add_action('wp_enqueue_scripts','enq_style');
?>

when i call THEME_LOC from header.php. it doesn't know i stored my theme location into this constant. what's the problem? shall i include my function.php into my theme or something? i've got another question too. does style.css add to my theme automatically or i have to register that style to my theme like what i did in fucntion.php?

It should be:

define( "THEME_LOC", get_template_directory_uri() );