Cのnullポインタに関する簡単なガイド
いくつかのプログラミング言語は、ヌル。
行くnil
、JavaScriptにはnull
、PythonにはNone
、 等々。
Cは持っていますNULL
。
ただし、NULLは他の言語とは異なる方法で使用されます。 Cでは、NULLはnullポインタ。
初期化するとポインタ、それが何を指しているのかを常に知っているとは限りません。それが便利なときです:
int * p_some_variable = NULL;
NULL
デフォルトでは使用できません:含める必要がありますstdio.h
それを使用する(または必要に応じて、stddef.h
:
#include <stdio.h>
int main(void) {
int * p_some_variable = NULL;
}
そうしないと、Cコンパイラでエラーが発生します。
hello.c:3:26: error: use of undeclared identifier
'NULL'
int * p_some_variable = NULL;
^
1 error generated.You can check if a pointer is a null pointer by comparing it to NULL
:
#include <stdio.h>
int main(void) {
int * p_some_variable = NULL;
if (p_some_variable == NULL) {
printf(“equal”);
}
}
In practice, NULL
is a constant equivalent to 0
, or "\0"
.
This is why you can set a string to NULL using:
char *a_string = '\0';
Download my free C Handbook
More clang tutorials:
- Introduction to the C Programming Language
- C Variables and types
- C Constants
- C Operators
- C Conditionals
- How to work with loops in C
- Introduction to C Arrays
- How to determine the length of an array in C
- Introduction to C Strings
- How to find the length of a string in C
- Introduction to C Pointers
- Looping through an array with C
- Booleans in C
- Introduction to C Functions
- How to use NULL in C
- Basic I/O concepts in C
- Double quotes vs single quotes in C
- How to return a string from a C function
- How to solve the implicitly declaring library function warning in C
- How to check a character value in C
- How to print the percentage character using `printf()` in C
- C conversion specifiers and modifiers
- How to access the command line parameters in C
- Scope of variables in C
- Can you nest functions in C?
- Static variables in C
- C Global Variables
- The typedef keyword in C
- C Enumerated Types
- C Structures
- C Header Files
- The C Preprocessor