Problems in array access
Utkarsh Singh
utkarsh190601@gmail.com
Tue Aug 31 08:39:37 GMT 2021
On 2021-08-31, 09:28 +0100, Jonathan Wakely <jwakely.gcc@gmail.com> wrote:
> On Tue, 31 Aug 2021 at 09:11, Utkarsh Singh wrote:
>>
>> Hello GCC mailing list,
>>
>> In one of my friend's C programming class, they asked him a question on
>> the topic of array bounds based on the follwing code snippet:
>>
>> #include <stdio.h>
>>
>> int main(void)
>> {
>> char str[] = {'G' , 'C' , 'C' };
>> str[3] = '\0' ; /* Isn't this invalid? */
>> printf("%s\n", str);
>> }
>>
>> In an ideal case, str[3] should be a case of out-of-bound array access.
>> But when compiling the above with -Wall option flag GCC shows no
>> warning. So, am I missing something?
>
> This question belongs on the gcc-help mailing list, not here.
Sorry! I will keep this in mind.
> The code has undefined behaviour.
>
> Some GCC warnings depend on checks done during optimization. GCC will
> warn about this code if you use -Wall -O2 and you will get a runtime
> error if you compile with -fsanitize=undefined
Great! And thank you for a quick reply.
--
Utkarsh Singh
http://utkarshsingh.xyz
More information about the Gcc
mailing list