У меня есть следующий фрагмент кода в понимании работы указателя на массив символов определенной длины со следующим примером кода.Как ведет себя указатель на массив символов?
#include <stdio.h>
int main(){
char sports[5][15] = {
"cricket",
"football",
"hockey",
"basketball"
};
char (*sptr)[15] = sports;
if (sptr+1 == sptr[1]){
printf("oh no! what is this");
}
return 0;
}
Как sptr+1
и sptr[1]
могут быть равны? Как первое, одно средство для увеличения адреса, который хранится в sptr
один и второй один означает, чтобы получить значение по адресу, хранящийся в sptr + 1
.
Я не могу заставить GCC (или Clang) не предупреждать о несоответствии типа (компилятор, соответствующий стандарту C, должен предупреждать и даже «gcc -traditional'). Какой компилятор вы использовали? – mafso
@mafso Я использую блоки кода – YakRangi
Это IDE, а не компилятор. Например, Gcc, Clang, MSVC являются компиляторами. – mafso