내가 스택 할당 배열 (포인터 만 스택 프레임 내에서 호출에 전달한다)에 대한 포인터를 초기화하기 위해 노력하고있어 ... 내가 여기서 뭔가를 이해 해요배열에 대한 포인터에 memset을 호출 하시겠습니까?
bool (*lookup)[100];
memset(lookup, 0, 100 * sizeof(*lookup));
생각하지 않습니다 . memset은 배열을 0으로 초기화하기위한 것입니다.
이전 코드는 segfault를 발생 시키며 포인터가 아닌 memset입니까?
memset(lookup, 0, 100 * sizeof(*lookup));
이렇게함으로써
이 어디에 "* 스택 할당 배열 * "? – alk
'memset'는 포인터가 아주 좋아요. 포인터 *,'memset (& loopkup, 0, sizeof (lookup));에 의해 점유 된 메모리에서 호출한다면 * 코드는 유효 할 것이다 (다소 무의미 함). 작성된 것처럼 초기화되지 않은 포인터 변수에서 가져온 * indeterminate * 주소를 사용하여 호출합니다. 따라서 정의되지 않은 동작입니다. – WhozCraig