プログラミングにおいて、ヌル終端文字列(ヌルしゅうたんもじれつ、英語: null-terminated string)とは、文字を配列に格納し、ヌル文字('\0'、ASCIIコードではNUL)でその終端(番兵)を表した文字列である。C言語等で用いられることからC文字列 (C string) とも言い、ASCIIコードの後にゼロ (zero) があることからASCIIZとも呼ばれる。 ヌル終端文字列の長さは、文字列の先頭から見て最初のヌル文字を発見することでしかわからない。その計算量は文字列長に比列する(O(n))。また、ヌル文字そのものは文字列に含めることはできず、ヌル文字は終端に1つだけ存在する。