afaik no.
but if you really need it you can use a struct to wrap the array and store an integer with the index-count inside that struct.
I already did that, but I have many different structs and each array in each struct have a different size. So I was hoping that there's a general way to find out the element count to save a lot of typing work.
The usual solution for this is to write a generic array container which can automatically updates the storage and does sanity check on passed indices to make sure they stay within the bounds. Let it store void pointers, which are typeless pointers and get automatically promoted to the right type (without explicit cast). If you need scalar types, you have to explicitly cast though, and there is no way around that (besides writing an extra array container for scalar types).
Anyhow, you should really consider doing that, because it has the added benefit that you only have a single point of failure: You don't copy and paste code around, and if there is a bug, you can fix all arrays at once. Besides, doing sanity checks on arrays won't hurt and might allow you to catch out of bugs, if you have anyways.