code/C
-
[C] 문자열을 가리키는 포인터는 왜 char(문자)인가?code/C 2023. 12. 5. 22:28
char *s1 = "Hello"; 포인터는 해당 데이터의 "시작지점의 주소"이다. 그럼 끝점은 어떻게 아는가? NULL문자로 판단한다. NULL문자(\0)를 만나기 전까지의 char데이터를 가져옴 = String 문자열의 pointer는 pointer to char인것. // 포인터는 해당 데이터의 "시작지점의 주소"를 가리키는 역할을 합니다. 문자열의 경우, 널 문자('\0')를 만나기 전까지의 연속된 char 데이터를 가져옵니다. 널 문자는 문자열의 끝을 나타내는 역할을 하며, 문자열의 끝을 판단하기 위해 사용됩니다. 따라서, 문자열의 포인터는 char 형식을 가리키는 포인터로서, 해당 문자열의 시작 주소를 가리킵니다. 포인터를 사용하여 문자열을 접근할 때는 해당 포인터가 가리키는 주소부터 널 문자..
-
포인터 사용code/C 2023. 11. 5. 00:25
& 주소 연산자: 변수의 메모리 주소를 구할 때는 변수 앞에 를 붙이면 됩니다 %p : 서식 지정자 %p를 사용하여 출력합니다(pointer의 약어로 p를 사용). 물론 16진수로 출력하는 %x, %X를 사용해도 됩니다. #define _CRT_SECURE_NO_WARNINGS // strcpy 보안 경고로 인한 컴파일 에러 방지 #include #include int main(void) { int num1 = 10; printf("%p\n" , &num1); return 0; } 출력: 0x30d89cfe8 근데 왜 arm64인데 32비트로 출력되는지는 모르겠다. +읽어볼거리 (질문과는 관계없음) https://nskg-yj.tistory.com/entry/iOS-ARM-Architecture [iOS..