index
Symbols
& (AND) bitwise logical operator 77
#include directives 133
| (OR) bitwise logical operator 77
A
ABBR option 184
add_noun() function 106
add_word() function 101 – 102, 105, 107
alfa int variable 182
ALPHA constant 277
alpha constant 160
AND operator 200
apt command 11
ar (archive) utility 134 – 135
ASCII (American Standard Code for Information Interchange)
control codes 71 – 73
conversion tricks 76 – 78
generating noncharacter output 74 – 75
overview 69 – 71, 145 – 147
-a switch 183, 185 – 187, 189
atexit() function 176
B
BALLS defined constant 326
balls variable 323
bash shell 11, 18 – 20, 130
Baudot code 141
BCD (Binary Coded Decimal) 141
BG constant 308
binString() function 74 – 75
bits, defined 164
BL defined constant 350
block buffering 53
BOLD attribute 309
bravo int variable 182
buf buffer 123, 208
buffer character array 54
BUFSIZ defined constant 208
build_vocabulary() function 103 – 105, 107
byte_sizes.c code 166
BYTES_PER_LINE constant 82
bytes variable 82
byte unsigned long variable 166
C
Caesarean ciphers 50 – 67
devising variations 60 – 63
filtering words 65 – 67
hex output filters 63 – 64
I/O filters 51 – 57
stream I/O 51 – 54
working filter at command prompt 56 – 57
writing simple filters 54 – 56
NATO filter 64 – 65
rot13 program 58 – 60
calendars 273 – 311
calculating first day of month 280 – 282
cal program 274 – 275
color 303 – 311
coloring holidays 309 – 311
generating colorful calendar 306 – 309
terminal colors 303 – 306
creating constants and enumerating dates 276 – 277
finding day of week 277 – 280
full year
displaying 295 – 298
putting into grid 299 – 303
generating week 286 – 292
leap years 282 – 283
showing month 292 – 295
time zones 283 – 285
cat command 86, 161
cd command 10
C development cycle 2 – 4
building 3 – 4
compiling 3 – 4
editing source code 2 – 3
linking 3 – 4
center() function 295, 299 – 300
changecwd.c source code 209
character encoding 141 – 163
text representation 142 – 148
ASCII 145 – 147
early text formats 142 – 145
Unicode 147 – 148
wide character programming 148 – 163
character types 150 – 152
generating output 152 – 156
locale settings 149 – 150
receiving input 156 – 160
working with wide characters in files 160 – 163
char array declaration 111
char data type 69 – 70, 74, 110, 137, 150 – 151, 157, 165 – 166
charlie int variable 182
char pointer 33, 44, 101, 257
char-sized chunks 169
char variables 74
ch character input 55
CHCP command 146
chdir() function 208 – 210, 215, 239
check_caps() function 108
checksum01.c program 88
checksum int variable 87
ch int variable 48, 74
chmod command 20, 199
chsh command 18
clang compiler 5, 12 – 13
closedir() function 203 – 204
code, writing 5 – 7
Code::Blocks IDE 5 – 7
code pages 146
code points 148
code space 148
color 303 – 311
coloring holidays 309 – 311
generating colorful calendar 306 – 309
terminal colors 303 – 306
color_holiday() function 310
color_output() function 308
COLUMNS defined constant 299
command-line compiling 9 – 13
accessing terminal window 9
basic shell commands 10 – 11
compiling and running 12 – 13
GUI editor 12
text screen editors 11 – 12
using command-line compiler options 15 – 16
commify() function 317
computer() function 345 – 349, 351
constants, creating 276 – 277
const char arrays 143
const char pointers 137, 276
const char types 215
const classifier 276
core dump 171
COUNTRY command 146
count variable 128, 227, 235
cp command 10
C Programming Language, The (Kernighan and Dennis) 130
Csh shell 19
-c switch 134 – 135
ctime() function 23 – 24, 26, 196, 283
curl libcurl library 15
cwd[] char array 208
cypher program 13
D
Dan Gookin’s Guide to Ncurses Programming 53
data[] array 175
data[] buffer 175
date tm structure 278
day member 257
dayoftheweek() function 279, 281
day variable 286, 292, 294, 301 – 302
DELTA constant 277
depth indent level 221
depth variable 221
dest buffer 115
diff command 86
diff program 86
d_ino member 205
dir() function 213, 215, 217 – 218, 220 – 221, 225
directories
monitoring depth 220 – 222
names 218 – 220
reading 203 – 207
directory char variable 215
directory tree utility 191 – 222
directory trees 217 – 222
directory name 218 – 220
monitoring directory depth 220 – 222
files and directories 194 – 207
file types and permissions 197 – 203
gathering file information 194 – 197
reading directories 203 – 207
filesystem 192 – 194
subdirectories 207 – 217
exploring 210 – 212
recursion 212 – 217
tools for 208 – 210
dirent structure 204 – 206
DIR handle 203 – 204
dirtree03.c online repository 222
dirtree program 220 – 221
dotm[] array 301 – 303
double data type 110
double-quad words 165
doublewords 165
do-while loop 323, 330
dow variable 297 – 298
doy variable 271
DRAW defined constant 326
draw variable 323
d_reclen member 205
dump 170 – 171
dumpfile04.c source code 185
dumpfile code 175, 180, 183
dumpfile utility 175 – 179
command-line options 179 – 190
activating octal output 187 – 190
getopt() function 180 – 182
setting abbreviated output 185 – 187
updating program code 182 – 185
fixing uneven output 178 – 179
reading file data 175 – 177
E
easter() function 267 – 269, 271
easter01.c online repository 268
EBCDIC (Extended Binary Coded Decimal Interchange Code) 145
echo command 57, 247
else condition 198
else portion 294
else statement 59
Emacs text mode editor 11
encoding and decoding 68 – 92
hex encoder/decoder 79 – 89
error-checking 87 – 89
writing 79 – 86
plain text 69 – 78
ASCII 69 – 71
control codes 71 – 73
conversion tricks 76 – 78
generating noncharacter output 74 – 75
URL encoder 89 – 92
creating 91 – 92
encoding rules 89
writing 90 – 91
entry pointers 35 – 36
entry variable 33 – 35
enum keyword 276 – 277
EOF (end-of-file) marker 51, 54 – 55
EOF flag 43
EPSILON constant 277
errno variable 204, 208 – 209, 211
exit() function 84, 176, 247
exit command 10
EXIT_FAILURE status 249
exit status 246
EXIT_SUCCESS status 249
extended_ascii.c source code 147
Extended Binary Coded Decimal Interchange Code (EBCDIC) 145
extract() function 219 – 220
F
FALSE constant 277
fclose() function 203
february() function 282 – 283, 288, 294 – 295, 299
fflush() function 54
FG constant 308
fgetc() function 48, 54, 162, 176
fgets() function 41, 48, 84, 111, 114, 158, 161 – 162, 176
fgetwc() function 162
fgetws() function 157 – 159, 161 – 163
file finder utilities 175, 223 – 244
Find Dupe utility 234 – 244
building file list 235 – 239
locating duplicates 239 – 244
Find File utility
coding 225 – 228
find and grep utilities 224 – 225
globbing 228 – 232
using wildcards to find files 232 – 234
FILE handle 203
fileinfo series of programs 201, 203
filename char pointer 176, 195
find() function 225, 227, 232, 236 – 240
find command 224
Find Dupe utility 234 – 244
building file list 235 – 239
locating duplicates 239 – 244
finddupe utility 234
findfile01.c source code 227 – 228
Find File utility 223 – 244
coding 225 – 228
find and grep utilities 224 – 225
globbing 228 – 232
using wildcards to find files 232 – 234
find utility 224 – 225
finfo structure 235, 239, 243
first() function 301
first variable 293 – 294
float data type 137
floor() function 269
fopen() function 160, 176, 179, 203
fork() function 249
fortune program 31
found int variable 241
fputc() function 54 – 55, 160
fputs() function 154
fputwc() function 160
fputws() function 154
fread() function 176, 205
free() statements 37
G
GAMMA constant 277
gcc compiler 5, 12
getchar() function 52, 54, 156, 170
getcwd() function 208 – 209
getcwd.c demo program 208
getopt() function 180 – 183
getopt_long() function 180
getwchar() function 156 – 157
glob() function 228, 230 – 232, 234
globbing 228 – 232
glob (global) 228
GREET.COM program 25 – 26
greetings program 21 – 23
adding general time info to greeting code 25 – 26
adding moon phases to greeting code 30 – 31
adding name as argument 22 – 23
adding phrases to greeting code 37
adding specific time info to greeting code 26 – 27
coding 21 – 22
grep command 224
grep utility 224 – 225
grid[] array 335, 337, 339, 348
guess[] array 328
GUI editor 12
H
hash char variable 151
hello[] array 153
Hello World program 21
hello_wworld01.c code 153
help() function 183 – 185
hexdecode program 84, 86, 88
hexd (hexdefilter01.c) program 81
hexdump utility 161, 164 – 190
dumpfile utility 175 – 179
command-line options 179 – 190
fixing uneven output 178 – 179
reading file data 175 – 177
storage 164 – 175
dumping data 170 – 175
outputting byte values 169 – 170
storage units and size 165 – 168
hexe (hexenfilter01.c) program 81
hexencode program 84, 86
hex encoder/decoder 79 – 89
error-checking 87 – 89
writing 79 – 86
hex integer variable 85
hex output filters 63 – 64
h holiday structure 310
High Performance File System (HPFS) 192
holiday detector utility 245 – 272
calculating Easter 266 – 269
holidays in UK 255 – 256
holidays in US 254 – 255
irregular holidays 261 – 266
obtaining any date 251 – 254
obtaining today's date 250 – 251
regular date holidays 256 – 261
return values 246 – 250
exit status vs. termination status 246
interpreting 247 – 249
preset 249 – 250
setting 246 – 247
testing 270 – 272
holiday integer 261
holiday structure 257 – 259, 268, 310
hostage filter 57
hostage program 57
HPFS (High Performance File System) 192
-h switch 183
I
I/O (input/output) filters 51 – 57
stream I/O 51 – 54
working filter at command prompt 56 – 57
writing simple filters 54 – 56
IDEs (integrated development environments) 4 – 9
choosing 4 – 5
Code 5 – 7
linking libraries 14 – 15
XCode IDE 7 – 9
if condition 184, 188, 349
if decision 178, 257, 288, 294, 308, 348 – 349
if-else conditions 66
if else-if else structure 201, 290
if-else structures 143, 188, 203
if tests 160, 172, 183, 186, 200, 266, 282, 289, 343, 348
index variable 176
inode 194
input buffer 158
input wide character buffer 158
ins pointer 126
int8_t integer type 168
int16_t integer type 168
int32_t integer type 168
int64_t integer type 168
int data type 110, 137, 168, 170
International Telegraph Alphabet No. 2 (ITA2) 144
int variable declarations 85
inword variable 128
isalnum() function 90
isalpha() function 41, 49, 59, 64
isholiday() function 256 – 257, 259 – 263, 266, 268 – 272, 310
isholiday package 271
isspace() function 66
isterm() function 46 – 47
ITA2 (International Telegraph Alphabet No. 2) 144
items int variable 34
items variable 34, 36
J
JANUARY enumerated constant 277
K
Kernighan, Brian 130
key[] array 100
kibibytes 168
kludge technique 54
Ksh shell 19
L
-L (big L) switch 135
LC_CTYPE category 149
-L. (dash-big L-period) switch 135
ld program 4
leap years 282 – 283
Learn Linux in a Month of Lunches (Ovadia) 11
left() function 121 – 122, 124
LEFT$ command 121
len characters 121, 124
length() method 137
LENGTH constant 186
length constant 162
len integer 123
len variable 119, 138
libraries
linking 14 – 15
string 132 – 136
creating 134 – 135
using 135 – 136
writing source and header file 133 – 134
line[] buffer 83, 85, 162
line_out() function 174, 176 – 178, 184 – 186, 188
list_base pointer 35
list_base variable 34 – 36
-l (little L) switch 15 – 16, 135 – 136, 199
LLVM clang compiler 5
-lm switch 166, 267
locale command 149
locale variable 150
localtime() function 24, 250 – 251, 256 – 257, 276 – 278, 286, 288, 294
$LOGNAME environment variable 20
lotto() function 325 – 328, 330
lotto01.c code 321
lotto05.c code 327
lotto08.c code 330
lotto pick utility 312 – 330
avoiding repeated numbers 322 – 324
creating lotto() function 325 – 327
drawing lotto balls 320 – 322
generating random values 317 – 320
matching lottery picks 327 – 328
odds
overview 313 – 314
programming 315 – 317
testing 328 – 330
playing lotteries 313
lotto programs 325, 328
lowercase() function 98, 107
ls command 10, 194
ls -l command 284
M
madlib01.c program 103, 106
madlib02.c program 104, 106
Mad Libs program 108
make command 11
malloc() function 32, 111
man command 10
man fs command 192
man pages 27, 44, 69, 112, 115, 157 – 158, 162, 180, 195, 203 – 204, 208 – 209, 230, 252, 284 – 285
match char pointer 44
math (m) library 166
mday integer 261
mdays[] array 270, 283, 288, 294
mdays variable 294 – 295
message URL http
//brew.sh 11
methods 137
mid() function 122 – 124
MID$ command 121
MinGW 5
mkdir command 10
mktime() function 252, 254, 256
ML constant 350
month[] array 276 – 277
month program 285, 292, 295
months program 295
month variable 286, 289, 294, 301
mood variable 156
moon_phase() function 29 – 30
moon phase program 27 – 31
adding moon phases to greeting code 30 – 31
observing moon phases 28 – 29
writing moon phase algorithm 29 – 30
more filter 63 – 64
mp variable 30
mv command 10
mystring.o object code 135
N
n[] pointer array 268
name member 257
name members 240
-name switch 224
nato[] array 40 – 42, 64
nato03.c program 46
nato04.c progam 47
NATO (North Atlantic Treaty Organization) 38
NATO phonetic alphabet filter 64 – 65
NATO phonetic alphabet translator program 38 – 49
alphabet 38 – 39
from NATO to English 43 – 49
converting NATO input to character output 44 – 47
reading NATO input from file 47 – 49
reading and converting file 42 – 43
writing translator 41 – 42
ncal program 274 – 275
new buffer 127
noglob option 229
North Atlantic Treaty Organization. See NATO
no_sigma constant 160
now time_t variable 250
NULL constant 44, 104
number() function 98, 106
numbers[] array 322 – 323, 325
O
octal output 187 – 190
octet 199
OCT option 184
offset characters 126
offset integer 123, 125 – 126
ohex() function 80
omega constant 160
on_exit() function 176
OOP (object-oriented programming) approach for strings 136 – 140
adding function to structure 137 – 139
creating string 139 – 140
opendir() function 203 – 204, 208
opterr global variable 180
options01.c source code 181
options int variable 183 – 185
options series 183
org pointer 125 – 126
-o switch 13, 16, 183, 188 – 189
Ovadia, Steven 11
P
password[] buffer 99
password generators 93 – 108
random password program 97 – 101
adding conditions 98
building 97
improving password 99 – 101
random word password generator 101 – 108
building 106 – 108
generating random words 101 – 106
strategies 94 – 97
avoiding basic and useless passwords 94 – 95
complexity 95 – 96
word strategy 96 – 97
PATH_MAX defined constant 208
permissions_out() function 203
pithy05.c code 105
pithy saying program 31 – 37
adding phrases to greeting code 37
creating phrase repository 31 – 32
randomly reading phrases 32 – 37
plain text 69 – 78
ASCII 69 – 71
control codes 71 – 73
conversion tricks 76 – 78
generating noncharacter output 74 – 75
ply integer variable 337
pmonth variable 289
pointers (memory locations) 32
popen() function 249
pow() function 166
printf()() function 13, 27, 30, 34 – 35, 64, 69, 76, 79, 85, 90, 100, 112, 114, 130, 146, 150, 152, 166, 186, 198, 205 – 206, 220 – 221, 241, 251 – 252, 283, 285, 291, 294, 308 – 309, 318
-print switch 224
prntf() function 300
prompt() function 337 – 340, 346, 348
pseudo random 317
putchar('
') statement 301, 309
putchar() function 54 – 55, 69, 170, 172
putenv() function 284 – 285
puts() function 114, 337
putwchar() function 153, 163
putwchar(ch) statement 163
p variable 337, 348
pwd command 10, 208 – 209
Q
qsort() function 137
quadwords 165
R
rand() function 317 – 319, 346
random() function 317, 319
random02.c code 319
random password program 97 – 101
adding conditions 98
building 97
improving password 99 – 101
randomp series of programs 106
random values, generating 317 – 320
random word password generator 101 – 108
building 106 – 108
generating random words 101 – 106
randwords01.c code 102
ransom program 57
readdir() function 204 – 207
readdir02.c source code 205
readdir04.c source code 207
realloc() function 32, 36
recursion 212 – 217
repeat member 240 – 241, 243
reset[] sequence 335
reset command 73
return01 program 248
return keyword 176
return values 246 – 250
exit status vs. termination status 246
interpreting 247 – 249
preset 249 – 250
setting 246 – 247
right() function 122 – 124
RIGHT$ command 121
Ritchie, Dennis 130
rot13 filter 58 – 60
rot13 program 58 – 60
-r switch 135, 225
S
say command 43
saying variable 37
scanf() function 158 – 159, 338
scramble() function 99 – 100, 107, 115
screen dump 171
set +o noglob command 229
set_abbr() macro 184
setbuf() function 53
setlocale() function 149 – 150, 152 – 153
set macro 184
set -o command 229
set_oct() macro 184
shell commands 10 – 11
shell startup 18 – 21
overview 18
scripts
editing 20 – 21
overview 18 – 19
shift variable 61
sholiday() function 263
showgrid() function 335 – 336
Sh shell 19
S_IRGRP defined constant 200 – 201
S_IROTH defined constant 200
S_IRUSR defined constant 200
S_ISBLK() macro 198
S_ISCHR() macro 198
S_ISDIR() macro 198
S_ISFIFO() macro 198
S_ISLNK() macro 198
S_ISREG() macro 197 – 198
S_ISSOCK() macro 198
S_IWGRP defined constant 200
S_IWOTH defined constant 200
S_IWUSR defined constant 200
S_IXGRP defined constant 200
S_IXOTH defined constant 200
S_IXUSR defined constant 200
size characters 208
SIZE constant 178
sizeof operator 112 – 113, 119, 166
slice[] array 341 – 342
srand() function 319, 346
srandom() function 319
sscanf() function 86
-s switch 135
start_day variable 271
stat() function 195 – 197, 203, 206 – 207, 211
statbuf structure 195
stat command 197
stderr (standard error device) 176
stdin input device 51, 158
stdin (standard input) 162
stdlib.h library 284
stdout device 154
st_mode member 197, 199 – 200, 203
storage 164 – 175
dumping data 170 – 175
outputting byte values 169 – 170
storage units and size 165 – 168
str1.length function 138
strappend() function 115 – 116
strcaps() function 118, 128, 136
strcasecmp() function 45, 115
strcat() function 114 – 116, 125 – 126
strchr() function 114
strcmp() function 45, 113 – 115
strcoll() function 114
strcpy() function 34, 114, 125 – 126
strcpy() statement 35
strcspn() function 115
stream I/O 51 – 54
strfry() function 115
strftime() function 26 – 27, 291 – 292
string_create() function 139
string_destroy() function 140
string functions 116 – 132
changing case 117 – 118
converting tabs to spaces 130 – 132
counting words in strings 128 – 130
inserting one string into another 125 – 128
reversing strings 118 – 120
splitting strings 124 – 125
trimming strings 121 – 124
string library 132 – 136
creating 134 – 135
using 135 – 136
writing source and header file 133 – 134
strings 110 – 116
counting words in 128 – 130
inserting one into another 125 – 128
measuring 112 – 114
overview 110 – 111
returning vs. modifying directly 115 – 116
reversing 118 – 120
splitting 124 – 125
string functions 114 – 115
trimming 121 – 124
string structure 139 – 140
string utilities 109 – 140
OOP approach 136 – 140
adding function to structure 137 – 139
creating string 139 – 140
string functions 116 – 132
changing case 117 – 118
converting tabs to spaces 130 – 132
counting words in strings 128 – 130
inserting one string into another 125 – 128
reversing strings 118 – 120
splitting strings 124 – 125
trimming strings 121 – 124
string library 132 – 136
creating 134 – 135
using 135 – 136
writing source and header file 133 – 134
strings 110 – 116
measuring 112 – 114
overview 110 – 111
returning vs. modifying directly 115 – 116
string functions 114 – 115
strinsert() function 126 – 128
strlen() function 112 – 114, 119, 124, 127
strlower() function 118
strncat() function 114 – 115
strncmp() function 84, 114
strncpy() function 114, 125
strpbrk() function 114
strrchr() function 115
strrev() function 119
strsplit() function 125
strspn() function 115
strstr() function 115
Str string variable 137
str structure 137
strtabs() function 131
strtabs.c program 132
strtok() function 44 – 45, 86, 115
strtol() function 247
struct finfo variable 240
struct term *t pointer 105
strupper() function 117 – 118
strwords() function 128, 130
strwords.c program 129
strxfrm() function 115
subdir01.c source code 211
subdirectories 207 – 217
exploring 210 – 212
recursion 212 – 217
tools for 208 – 210
subdir program 212 – 213, 220
switch-case structure 180, 182
switches 179
syllables 165
symbol() function 98, 106
system() function 248
T
tabs command 130
terminal window, accessing 9
termination status 246
term structure 104
test_abbr() macro 185 – 186, 188
test macro 184
test_oct() macro 188
text representation 142 – 148
ASCII 145 – 147
early text formats 142 – 145
Unicode 147 – 148
text screen editors 11 – 12
thefirst() function 282, 294
THETA constant 277
three() function 349 – 351
THURSDAY defined constant 262
tic-tac-toe 331 – 352
approaching game mathematically 333 – 334
basic game 334 – 344
adding game play 337 – 339
creating game grid 334 – 337
determining winner 340 – 344
limiting input to free squares 339 – 340
computer plays 344 – 352
adding intelligence 348 – 352
choosing number of players 344 – 346
coding dumb opponent 346 – 348
playing 332 – 333
time() function 23, 250 – 251, 257, 278, 283, 286, 294, 319
time of day program 23 – 27
adding general time info to greeting code 25 – 26
adding specific time info to greeting code 26 – 27
obtaining current time 23 – 25
timespec structure 196
time_t data type 23, 278
time_t defined constant 225
time_t pointer 196
time_t variable 23
time zones 283 – 285
time zone (TZ) environment variable 284 – 285
tm_day member 252
tm_hour member 252
tm_isdst member 252
tm_mday member 252, 257, 286
tm_min member 252
tm_mon member 252, 257, 276
tm_sec member 252
tm structure 252 – 254, 256 – 257, 259, 276, 286, 291
tm_wday member 252, 259, 276, 286
tm_wday tm structure member 291
tm_yday member 252, 291
tm_year member 252
toblock() function 349
today tm structure 250
today variable 294
tohex() function 81, 91 – 92
tolower() ctype function 78
tomatch constant 328, 330
tomatch variable 329
toMorse() function 143 – 144
toupper() function 59, 78
towin() function 349
TREE command 220, 222
TREE utility 217 – 218
Tsch shell 19
ttt01.c code 337
ttt02.c code 339
type data type 137
tzset() function 284 – 285
TZ (time zone) environment variable 284 – 285
U
Unicode 147 – 148
unlink command 10
unsigned char pointer 174
unsigned long value 137
uppercase() function 98, 107
url_decoder01.c source code 92
URL encoder 89 – 92
creating 91 – 92
encoding rules 89
writing 90 – 91
urlencoder program 90
UTF (Unicode Transformation Format) 148
V
value variable 318
version() function 190
vi editor 11
VIM text mode editor 11
vocabulary[] array 102, 107
-v switch 190
W
wait() function 249
-Wall switch 13
wchar_t buffer 158
wchar_t data type 150 – 153
wday integer 261
wday variable 282
WEDNESDAY enumerated constant 281
week01.c program 286
weekday variable 286, 294, 298, 301
weekend() function 261, 268, 271
weekno variable 291
WEOF end-of-file marker 162
wide character programming 148 – 163
character types 150 – 152
generating output 152 – 156
locale settings 149 – 150
receiving input 156 – 160
working with wide characters in files 160 – 163
wide_hello.c program 154
wide_in.c source code 158
wildcards,using to find files 232 – 234
winner() function 327 – 328, 341 – 343
winners[] array 321
wint_t ch single wint_t variable 162
wint_t data type 160, 162
word[] buffer 48, 66 – 67
words 165
wprintf()() function 152 – 153, 155 – 156, 158, 162
wscanf() function 158 – 159
WSL (Windows Subsystem for Linux) 9, 17
X
XCode IDE 7 – 9
Y
year01.c code 295, 298 – 299
year03.c code 308
year04.c code 310
year program 295, 303, 306
year variable 294
yen wchar_t variable 151, 155
yen wide character 151
Z
zsh shell 11, 19, 130