C,C++14 c언어 문자열 c언어를 처음 접했을 때 문자열을 char* 로 저장할 때와 char[]로 저장할 때 많이 헷갈렸다.그래서 차이점을 정리해본다. 배열로 선언된 문자열정상적으로 실행되는 경우1. char s1[10] = "hello";2. char s1[] ="hello"; 3. char s1[10] = "Hello"; s1[0] = 'A'; printf("%s"); // Aello 4. char s1[10] = "Hello"; char s2[10]; scanf("%s",s1); => 기존에 있던 문자열은 사라지고 입력한 값으로 바뀜 scanf("%s",s2); 5. char buffer[100] = {0,}; FILE* fp = fopen("a.txt","r"); f.. 2022. 2. 4. 이중포인터 C언어로 PostgreSQL과 연동해 CLI에서 음식을 주문하는 대화형 프로그램을 구현할 때 이중포인터 때문에 고생했던 기억이 난다. 이 당시 PGresult 구조체의 주소값을 받아왔어야 됐는데, 받을 때 이중포인터가 아닌 그냥 포인터로 받아와서 함수 내에서 받아온 값을 핸들링한다고 해도 실제 main에 있는 원본은 변화가 없었다. 아무래도 이중포인터는 평생 나를 괴롭힐 것 같아 확실히 정리해두고 가야 할 것 같아서 정리한다. #include #include #include using namespace std; void setToNull(int**); int main(){ int five = 5; int* ptr = &five; printf("&ptr:%p | ptr(변수 five의 주소값 ): %p\n.. 2022. 2. 3. 이전 1 2 3 다음