I found this in SDL 2.0 source code. The SDL_Texture is repeated twice. It seems that we are aliasing "struct SDL_Texture" as "SDL_Texture". How is this useful? Can someone elaborate?
/**
* An efficient driver-specific representation of pixel data
*/
struct SDL_Texture;
typedef struct SDL_Texture SDL_Texture;