An example to help you understand better.
$# - Will give you the number of arguments passed to the script
$@ - Will list all the arguments passed
Code:
/export/home/test/mons/UnixForum>cat test.sh
#!/bin/ksh
print "The number of arguments passed to this shell script is " $#
print "The arguments passed are as follows"
print "$@"