You can't have an array of mixed data types. You could have 2 arrays, search one for an id and use its index value to extract the corresponding name from the second array.
What about if I was to make the id data a string by changing the array to store {"123","BoB"} then when doing the comparison change ID from int to string so I end up comparing two strings.
Would that work, and if so how would I declare the setup the array?
Structures are very, very, useful. A lot of multi-dimensional and/or parallel array constructs are hold-overs from languages like Fortran and BASIC that didn't have anything more complicated than arrays...