Tk\_GetUid(3) Tk Library Procedures Tk\_GetUid(3)

```

```

# [NAME](#NAME)

Tk\_GetUid, Tk\_Uid - convert from string to unique identifier

# [SYNOPSIS](#SYNOPSIS)

```
#include <tk.h>

Tk_Uid
Tk_GetUid(string)
```

# [ARGUMENTS](#ARGUMENTS)

char *\*string* (in)

String for which the corresponding unique identifier is desired.

```
    
```

# [DESCRIPTION](#DESCRIPTION)

**Tk\_GetUid** returns the unique identifier corresponding to *string*. Unique identifiers are similar to atoms in Lisp, and are used in Tk to speed up comparisons and searches. A unique identifier (type Tk\_Uid) is a string pointer and may be used anywhere that a variable of type “char \*” could be used. However, there is guaranteed to be exactly one unique identifier for any given string value. If **Tk\_GetUid** is called twice, once with string *a* and once with string *b*, and if *a* and *b* have the same string value (strcmp(a, b) == 0), then **Tk\_GetUid** will return exactly the same Tk\_Uid value for each call (Tk\_GetUid(a) == Tk\_GetUid(b)). This means that variables of type Tk\_Uid may be compared directly (x == y) without having to call **strcmp**. In addition, the return value from **Tk\_GetUid** will have the same string value as its argument (strcmp(Tk\_GetUid(a), a) == 0).

# [KEYWORDS](#KEYWORDS)

atom, unique identifier

Tk

---

Document: Tk_GetUid(3) from tk 9.1.0-r0 (Chainguard OS)
Source: https://downloads.sourceforge.net/sourceforge/tcl/tk9.1.0-src.tar.gz
