What is the difference between ICAO and non-ICAO flight address? In document 260B, "Minimum operational performance standards for 1090Mhz Extended Squitter", on page 47 of the pdf, in the DF18 format they have mentioned for a particular CF(code format), "non-ICAO flight address".

So I wanted to know what the difference was between ICAO and non-ICAO flight address?
The use of the non-ICAO flight address field is described in the very same document, on table 2-11, page 53 of the PDF:


  AA field holds another kind of address for the transmitting
  ADS-B Participant: a self-assigned "anonymous" address, a
  ground vehicle address, or a surface obstruction address.


Ground vehicles and surface or tethered obstructions want to participate in ADS-B, but they don't have ICAO aircraft addresses, so they have to have their own addresses. Since these addresses aren't centrally assigned, the CF field is used to keep them distinct: otherwise, you could have a vehicle address that conflicts with an ICAO aircraft address.

The different kinds of addresses are further described in section 2.2.5.1.1 (p 172 of the PDF).