According to the GCC compiler, they are the same thing: http://codepad.org/n2HkK2JN
assert will give output on false conditions, therefor the conditions in the example is true.
However, please note that c-arrays and pointers are NOT treated the same. Please beware as it can be confusing.
The variable "a" is an array, but it degenerates into a pointer to the first element of the array when used as a pointer.
Hence, the answer to the original question is false.
[edit]
I just noticed that the original premise used the assignment operator (a=&a[0]) and not the equality-comparison operator (a==&a[0]). Was this intentional? Because my response was based upon the comparison. The assignment is illegal and should not compile.