I’d like to know the maximum value of size_t on the system my program is running.
My first instinct was to use negative 1, like so:
size_t max_size = (size_t)-1;
But I’m guessing there’s a better way, or a constant defined somewhere.
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
A manifest constant (a macro) exists in C99 and it is called
SIZE_MAX. There’s no such constant in C89/90 though.However, what you have in your original post is a perfectly portable method of finding the maximum value of
size_t. It is guaranteed to work with any unsigned type.