목록STUDYING (155)
MY MEMO
Union은 메모리를 공유한다 #define _CRT_SECURE_NO_WARNINGS #include /* union을 쓰는 이유 -> size를 줄이기 때문! -> 통신을 다룰 때 가장 적은 사이즈를 사용하기 위해 -> union은 변수 중 가장 큰 size를 최대로 둠 */ union box { int val; int ball; char character; }; struct operator{ int type; union { int intNum; float floatNum; double doubleNum; }; }; union Coins { struct { int quarter; int dime; int nickel; int penny; }; int coins[4]; }; int main() { un..
#define _CRT_SECURE_NO_WARNINGS #include #include typedef struct node { int val; struct node_t* next; }node_t; node_t*head; void pop_head() { if (head == NULL) { printf("There is no head\n"); return; } node_t*temp = head; head = temp->next; free(temp); } void pop_last() { if (head == NULL) { printf("there is no head\n"); return; } node_t * current = head; node_t*current_next = current->next; whi..
#include int main() { char vowels[] = { 'a','e','i','o','u' }; char *pvowels = &vowels; for (int i = 0; i < 5; i++) { printf("%c \n", *(pvowels + i)); printf("%c \n", vowels[i]); } char*temp = (char*)malloc(5 * sizeof(char)); temp[0] = 'a'; temp[1] = 'e'; *(temp + 2) = 'i'; *(temp + 3) = 'o'; temp[4] = 'u'; free(temp); //하지만 변수명은 남음 char **temp1 = (char**)malloc(2 * sizeof(char*)); temp1[0] = (c..
+)Overloading, Overriding 차이?Overloading : 같은 이름의 method를 사용하는 것Overriding : 상속 후 부모의 method를 변경하는 것 Overriding의 예시출처 : http://itpangpang.xyz/105 #include #include //malloc 정의 typedef struct { char*brand; int model; }vehicle; struct temp { int x; int y; }; //함수의 overloading 허용되지 않음 //모든 함수의 이름이 달라야함 void show_point(int x, int y) { printf("1 : %d %d \n", x, y); } void show_point_temp(struct temp ..
#include int main() { int a = 1; int* pointer_a = &a; /* *란 그 변수의 주소값을 저장하는 것이다. &란 그 변수의 주소값을 가져오는 것이다. int *pointer = &a; 란 pointer에 a의 주소값을 저장한다는 것이다. 주소값의 변수를 가져오고 싶으면 *pointer를 printf해주면 된다. */ printf("a : %d \n", a); printf("pointer_a : %d / *pointer_a : %d / &pointer_a : %d \n", pointer_a, *pointer_a, &pointer_a); *pointer_a+=1; //2 //*pointer_a++; //안됨 printf("%d \n", *pointer_a); pointe..
#include int count =10; int function() { static int count = 0; return count; } int main() { printf("%d", function()); printf("%d", count); return 0; } C언어에서 static은 변수를 사용할 수 있는 범위를 그 파일 안으로 한정하는 것이다. 예를 들어 위와 같이 있다면 현재 int count는 전역변수이고 function()안에 있는 static int count는 function안에서 사용되는 정적 변수이다. 이 변수는 코드를 실행할 때 한번 초기화 되고 다시 이 변수를 초기화한 코드를 만나더라도 다시 초기화되지 않는다. 이는 함수에서도 적용된다. 만약 같은 이름의 함수를 사용해야한다면..
Page Load시 실행하는 함수 public MainWindow() { InitializeComponent(); this.Loaded += new RoutedEventHandler(Page_Loaded); } private void Page_Loaded(object sender, RoutedEventArgs e) { } 특정 UI위에서 키보드를 누르면 실행하게 하는 법 +) key down과 up의 차이 : down - 키가 눌리면 실행 / up -키가 눌렸다 떼어지면 실행 public MainWindow() { InitializeComponent(); Web_List.KeyDown += Web_List_KeyboardDownEvent; } private void Web_List_KeyboardDown..
test.txt파일을 만들기(-> project가 저장된 경로에 있음)string path = @"test.txt"; try { System.IO.File.Create(path); } catch(Exception e) { Console.WriteLine(e.Message); } web scraping 후 test.txt파일에 저장하기 HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding...
1. System.Data.SqLite 설치하기 Connection열기 (App.xaml.cs파일에 전역으로 넣어놓기)//sqlite가 없으면 생성 string DBfile = "DB파일 이름.sqlite"; conn = new SQLiteConnection("Data Source=DB파일 이름.sqlite;Version=3;"); if (!System.IO.File.Exists(DBfile)) { SQLiteConnection.CreateFile("DB파일 이름.sqlite"); } conn.Open(); create table (table이 존재하면 생성하기): 만약 이렇게 해주지 않는다면 application을 실행할때마다 table이 새로 생성 string sql = "create table if..
1. 아래 두개인 toast notification과 toast notification message를 다운받는다 아래의 코드를 추가해준다.자신에게 맞게 수정하면 된다. private void Notification() { notifier = new Notifier(cfg => { cfg.PositionProvider = new WindowPositionProvider( parentWindow: Application.Current.MainWindow, corner: Corner.TopRight, offsetX: 10, offsetY: 10); cfg.LifetimeSupervisor = new TimeAndCountBasedLifetimeSupervisor( notificationLifetime: Tim..